一、列表生成式
# 1. 列表生成式,语法:[被追加的数据 循环语句 循环或者判断语句] lst2 = [i * 10 for i in range(10, 20)] print(lst2) # 输出:[100, 110, 120, 130, 140, 150, 160, 170, 180, 190] # 原本实现: lst2 = [] for i in range(10, 20): lst2.append(i * 10) lst3 = [i * 10 for i in range(10, 20) if i % 2 == 0] print(lst3) # 输出:[100, 120, 140, 160, 180] # 原本实现: lst3 = [] for i in range(10, 20): if i % 2 == 0: lst3.append(i * 10) lst4 = [i * j for i in range(1, 5) for j in range(1, 5)] print(lst4) # 输出:[1, 2, 3, 4, 2, 4, 6, 8, 3, 6, 9, 12, 4, 8, 12, 16] # 原本实现: lst4 = [] for i in range(1, 5): for j in range(1, 5): lst4.append(i * j)
二 、字典生成式
# 2. 字典生成式 lst5 = ["张三", "李四", "王五"] dict1 = {i: lst5[i] for i in range(0, len(lst5))} print(dict1) # 输出:{0: ‘张三‘, 1: ‘李四‘, 2: ‘王五‘} # 原本实现: dict1 = {} for i in range(0, len(lst5)): dict1[i] = lst5[i]
三、集合生成式
# 3. 集合生成式 set1 = {i * j for i in range(1, 4) for j in range(1, 4) if i == j} print(set1) # 输出:{1, 4, 9} # 原本实现: for i in range(1, 4): for j in range(1, 4): if i == j: set1 = i * j
原文:https://www.cnblogs.com/ac-chang/p/12644013.html