列表推倒式
# 将 0-9 加入到一个列表中 结果为[0,1,2,3,4,5,6,7,8,9]
# 普通方法
# 1,while循环方法实现
list1 = []
i = 0
while i < 10:
print(i)
# 将0-9 一直加入到列表中
list1.append(i)
i += 1
print("=========================")
print(list1)
print("==============================")
# 2.for循环实现
list2 = []
for i in range(10):
print(i)
list2.append(i)
print(list2)
print("==================================")
# 3,列表推导式
list3 = [i for i in range(10)]
print(list3)
![]()
带if的列表推导式
# 0 -10 的偶数序列[0,2,4,6,8] # 第三个参数是步长 range实现 list1 = [i for i in range(0, 10, 2)] print(list1) # if实现 偶数加入列表 list2 = [i for i in range(10) if i % 2 == 0] print(list2) # 奇数加入列表 list3 = [i for i in range(10) if i % 2 == 1] print(list3)
![]()
多个for循环实现列表推导式
# 需求:[(1, 0), (1, 1), (1, 2) (2, 0), (2,1),(2,2)]
list1 = []
for i in range(1, 3):
for j in range(3):
print(i, j)
# 将数据加入到列表中
list1.append((i, j))
print(list1)
print("===========================")
# 多层for循环的列表推导式
list2 = [(i, j)for i in range(1, 3) for j in range(3)]
print(list2)
带if的字典推导式
dict1 = {"张飞": 195, "关羽": 186, "吕布": 188}
# 使用字典推导式 打印出 身高在190以上的 姓名
# 普通方法
for i, j in dict1.items():
# print(i, j)
if j > 190:
print(i, j)
# 字典推导式实现
dict2 = {i: j for i, j in dict1.items() if j > 190}
print(dict2)
![]()
集合推导式
# 生成一个集合 {4, 25 , 81}
list1 = [2, 5, 9]
set1 = set()
for i in list1:
print(i ** 2)
set1.add(i ** 2)
print(set1)
# 2,集合推导式实现
set2 = {i ** 2 for i in list1}
print(set2)
