Python学习小结---粗略列表解析

发布时间:2019-06-16 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Python学习小结---粗略列表解析脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

列表解析

本文旨在说明列表解析的用法

Python是一门简单高效的语言,因此代码也可以变得简单高效,主要目的的利于阅读,方便书写。因此引入了许多语法糖。列表解析就是个例子。

传统方式的for循环:

arr=[]
for i in range(10):
    arr.apPEnd(i)
# 循环添加0-9

这种循环想必大家全都信手拈来,但是Python把这种代码简化了一下,使得更加方便,一行即可搞定

arr=[i for i in range(10)]

以上的代码与最上面的传统方式有同等的效果,都是[0,1,2,3,4,5,6,7,8,9](已经过测试)

本文不分析码实现(因为本人也不会啊),只负责教会各位怎么看以及怎么写==

接下来,让我们分析一下上面出现的列表解析:arr=[i for i in range(10)]

  1. arr显然是一个列表
  2. 列表中有一个for循环:for i in range(10),这里就是执行循环的地方
  3. 前面有一个i,和for循环中的变量一样,因此这就是循环体

总结:在列表解析中,需要添加的变量写在前面,循环写在后边。

练习:用列表解析生成一个二维数组如:[[],[],[],[],[]]

因为我们不可能只会单纯的循环,可能在循环中再加入循环,或者加入条件,因此列表解析需要更高级一点的用法了。
示例:

#条件判断
arr=[i for i in range(10) if i is 5]#--> [5]
#循环嵌套:
arr=[j for i in range(2) for j in range(i)]#--> [0, 0, 1, 0, 1, 2]

接下来,分析一下结构:
arr = [ i for i in range(10) if i is 5 ]
(列表名)= [(代表列表元素的变量) (最外层的循环) (内部条件判断)]
arr = [ j for i in range(2) for j in range(i)]
(列表名)= [(代表列表元素的变量) (最外层的循环) (内部循环) ]

大家看懂了吗?
没看懂?


那总结一下吧:
原代码:

arr=[]
for i in range(10):
    if i is 5:
        for j in range(i):
            arr.append(i)

缩进了三次
①for i in range(10)
②if i is 5
③for j in range(i)
列表中的元素:④j

列表解析:

arr=[j for i in range(10) if i is 5 for j in range(i)]

arr=[④ ① ② ③]

脚本宝典总结

以上是脚本宝典为你收集整理的Python学习小结---粗略列表解析全部内容,希望文章能够帮你解决Python学习小结---粗略列表解析所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。