L4.五.列表生成

#  列表生成式(语法糖)

# 需求:1.得到一个列表,[1,2,3,4,5,6....20]
# 需求,给定列表[1,2,3],分别计算每项元素的平方并返回,返回结果[1,4,9]

#第一题普通写法

list1 = []
for i in range(1,21):
list1.append(i)
print(list1)




# 语法 [变量 循环表达式]
print([i for i in range(1,21)]) # 列表生成式的语法 i 变量 接受循环值

# 解释器会自动把每一次循环的变量作为一项插入到列表当中。
# 场景:适合比较简单的列表生成,不必刻意使用。


# 复杂一点的例子,循环表达时候面又跟了if表达式,只有当if条件为True, i 才会加入列表
[i for i in range(1,21) if i % 2 ==0]
#[2,4,6,8,10,12,14,16,18,20]


# 更为复杂的例子
[i * i for i in range(1,11)]



#(了解)生成器
g = (x for x in range(1,5))
g.__next__() #1
g.__next__() #2
posted @ 2018-11-17 16:22  pypi111258  阅读(108)  评论(0编辑  收藏  举报