1.列表生成式
# 需求:生成一个列表,列表元素分别为[1**1,2**2,3**3...n**n] li = [] for i in range(1,8): li.append(i**i) print(li)
""" # 列表生成式使用规则如下 [experssion for item in 序列 if 判断语句] """ # 以下两句效果等同上 li = [i**i for i in range(1,8)] print(li)
# 可以添加判断语句,生成1~10的偶数 li = [i for i in range(1,11) if i % 2 ==0] print(li)
# s1='ABC' s2='123'
# A1 A2 A3 B1 B2 B3 C1 C2 C3
#可以有两个循环等同于for嵌套for
print([i + j for i in 'ABC' for j in '123'])
"""
需求:讲3x3的矩阵转换成一堆数组(列表)
"""
li = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
resli = []
for item in li: # [1,2,3] [4,5,6] [7,8,9]
for item2 in item:
resli.append(item2)
print(resli)
#生成式
resli2 = [item2 for item in li for item2 in item]
print(resli2)