从零学习Python—基础知识(八)

上一节课,我们重点讲到的是字典,他与列表有相同之处,却还是有更多的不同。


学习编程,其实就是学其神,忘其形,需要灵活运用。目前主流的计算机语言大致有Python、Java、C、C++、JavaScript、C#、Ruby、PHP以及Objective-C,如果大家熟练掌握了一种,其它的也是有共同之处的,举一反三。


嵌套

嵌套含义:将一系列字典存储在列表中,或将列表作为值存储在字典中。说直白点,就是看“值”的需要来做选择。

———————————————————

names_0={'color':'red','points':'55'}

names_1={'color':'green','points':'35'}

names_2={'color':'yellow','points':'25'}

names=[names_0,names_1,names_2]

for name in names:

       print(name)


结果是:

{'color': 'red', 'points': '55'}

{'color': 'green', 'points': '35'}

{'color': 'yellow', 'points': '25'}

———————————————————


这里是一个简单的将字典嵌套在列表中,先是创建了三个字典,再将三个字典储存在列表中,再用for语句将三个创建的字典打印出来。


这里有没有人会提出疑问呢?万一列表出包含许多个字典,这个怎么搞?难道要一一的去创建吗?


当然不用了!我们可以像之前一样,创建一个空列表,再通过函数range()来创建多个字典,这不就可以解决了吗,咱们还是来看看我是怎么写的:

————————————————

names=[]

for name_number in range(10):

       name={'color': 'red', 'points': '55'}

       names.append(name)

print(names)


结果是:[{'color': 'red', 'points': '55'}, {'color': 'red', 'points': '55'}, {'color': 'red', 'points': '55'}, {'color': 'red', 'points': '55'}, {'color': 'red', 'points': '55'}, {'color': 'red', 'points': '55'}, {'color': 'red', 'points': '55'}, {'color': 'red', 'points': '55'}, {'color': 'red', 'points': '55'}, {'color': 'red', 'points': '55'}]

——————————————————


由于篇幅有限,就只生成了10个字典。

虽然简单的利用计算机生成了10个字典,却用到的知识还是挺多的:列表的运用、for语句、函数range(),临时变量和添加元素append()的使用,这也是我为什么一直强调要学好基础的原因。


我相信大家在这还是有个疑问,这里生成的可是相同的字典,不是我们所想的呀,是吧


哈哈,我之前学到这也是这么想的,可是一想,也是这么个理,没错。我们可以稍稍思考一下,比如热门的王者荣耀,英雄联盟,里面的元素其实不用,队英雄外无外乎“大小龙”,“红蓝buff”,大部分都小兵,小兵只有三种:远程,近战,炮车


我们可以生成一批相同的字典,然后再批量去修改就好了,比起一个个添加,我觉得效率是天差地别,还是看刚才的例子:

——————————————————

names=[]

for name_number in range(10):

       name={'color': 'red', 'points': '55'}

       names.append(name)

for new_name in names[0:2]:

       if new_name['color']=='red':

             new_name['color']='green'

             new_name['point']='89'

        print(new_name)


结果是:

{'color': 'green', 'points': '89'}

{'color': 'green', 'points': '89'}

——————————————————


解读:承接上面的例子,创建了10个同样的字典在列表names中,下一部我们使用for

循环,挑选出前面的两个字典,将其储存在new_name中,再利用if语句的判断,使其执行下面的代码,给其赋值,修改字典中的值,最后再打印结果。


看到这里,有没有想要去设计一下游戏的冲动呢?哈哈,不着急,其实游戏设计大多也不是用python设计的,但每个语言都有自己的优势和不足,没有必要去比较,没有什么是十全十美的。

你可能感兴趣的:(从零学习Python—基础知识(八))