1.最基本的列表生成方式
-
生成 1-10 之间的整数的一个列表
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(list1) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list2 = list(range(1, 11))
print(list2) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2.通过程序的方式生成[4, 9, 16, 25, 36, 49]
-
第一种方式:(原始方式)
list3 = [] # 定义空列表,用于接收生成的数据
for i in range(2, 8):list3.append(i ** 2)
print(list3) # [4, 9, 16, 25, 36, 49]
-
第二种方式:通过列表生成式生成
list4 = [i ** 2 for i in range(2, 8)]
print(list4) # [4, 9, 16, 25, 36, 49]
3.练习
-
使用列表生成式生成1-10之间所有的奇数
list5 = [i for i in range(1, 11, 2)]
print(list5) # [1, 3, 5, 7, 9]
# 或者
list6 = [i for i in range(1, 11) if i % 2 == 1]
print(list6) # [1, 3, 5, 7, 9]
-
使用列表生成式生成1-10之间的奇数同时被3整除的数字
list7 = [i for i in range(1, 11) if i % 2 == 1 and i % 3 == 0]
print(list7) # [3, 9]
-
列表生成式中使用双重循环
list8 = [i + j for i in "xyz" for j in "123"]
print(list8) # ['x1', 'x2', 'x3', 'y1', 'y2', 'y3', 'z1', 'z2', 'z3']
-
注意:列表生成式一般用于逻辑简单的列表的生成