列表推导式
array0 = [x for x in range(11)]
array1 = [x for x in range(11) if x % 2 == 0]
array2 = [x ** 2 for x in range(11)]
print("array0:{}".format(array0))
print("array1:{}".format(array1))
print("array2:{}".format(array2))
array0:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
array1:[0, 2, 4, 6, 8, 10]
array2:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
字典推导式
set0 = {x for x in range(11)}
set1 = {x for x in range(11) if x % 2 == 0}
set2 = {x ** 2 for x in range(11)}
print("set0:{}".format(set0))
print("set1:{}".format(set1))
print("set2:{}".format(set2))
set0:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
set1:{0, 2, 4, 6, 8, 10}
set2:{0, 1, 64, 4, 36, 100, 9, 16, 49, 81, 25}
集合推导式
dic1 = {k: k for k in range(10)}
dic2 = {k * k: k for k in range(10)}
dic3 = {k: k * k for k in range(10)}
print("dic1:{}".format(dic1))
print("dic2:{}".format(dic2))
print("dic3:{}".format(dic3))
dic1:{0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9}
dic2:{0: 0, 1: 1, 4: 2, 9: 3, 16: 4, 25: 5, 36: 6, 49: 7, 64: 8, 81: 9}
dic3:{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
生成器
# 初始化生成器
gen = (x for x in range(20) if x % 2 != 0)
print(gen)
print(type(gen))
print(gen.__next__())
# 遍历
for g in gen:
print(g,end=" ")
<generator object at 0x0000029EFDA7B350>
<class ‘generator’>
1
3 5 7 9 11 13 15 17 19