我们经常需要这样处理一个列表:把一个列表里面的每个元素, 经过相同的处理 ,生成另一个列表。
比如:一个列表1,里面都是数字,我们需要生成一个新的列表B,依次存放列表A中每个元素的平方
怎么办?
当然可以用for循环处理,像这样
list1 = [1,2,3,4,5,6]
list2 = []
for num in list1:
list2.append(num*num)
Python还有更方便的语法,可以这样写
'''
学习中遇到问题没人解答?小编创建了一个Python学习交流群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
list1 = [1,2,3,4,5,6]
list2 = [num**2 for num in list1]
这种写法,通常叫做 列表推导式 。
就是把一个列表里面的每个元素经过简单的处理生成另一个列表的操作。
其中 for 前面的部分,就是要对取出的元素进行的处理操作, 上面的例子是计算平方。
如果我们 得到的 list1 里面每个元素的 立方呢?
对了,就可以这样
list1 = [1,2,3,4,5,6]
list2 = [num**3 for num in list1]