从零学习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设计的,但每个语言都有自己的优势和不足,没有必要去比较,没有什么是十全十美的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 学习编程就是在学习它的规律,掌握了方法了,其实再学其它的语言都能很快掌握。今天要讲两个重要的,也是常用的两个语句。...
    路遥知知马力阅读 177评论 0 1
  • 上一课我们讲到字典中的键—值,讲到键—值可以修改,添加和删除,却留了个悬念,没有讲到删除的用法,不知道有没有人尝试...
    路遥知知马力阅读 159评论 0 1
  • 模拟现实世界中的情形 大多数程序都旨在解决最终用户的问题 第5章 if语句 条件测试 特定值是否包含在列表中 in...
    坚持做自己阅读 397评论 0 0
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,486评论 0 10
  • 徐东是师范学校的毕业生,这天他到市教育局报到。 一拿到通知书,心就凉了半截;他被分到一个叫鱼塘角的小学,那可是最最...
    經倎侽人阅读 734评论 1 6