python---python生成式/推导式使用总结

Python生成式/推导式:推导式/生成式节省代码,加快开发效率。

1、列表推导式

列表[1, 3, 5, 7, 9],使用for循环实现需要4行代码,使用列表生成式仅需1行代码

# 列表生成式
num_list = []
for i in range(1, 11):
    if i % 2 == 1:
        num_list.append(i)
print(num_list)  # 输出[1, 3, 5, 7, 9]
num_list = [i for i in range(1, 11) if i % 2 == 1]  # 列表生成式
print(num_list)  # 输出[1, 3, 5, 7, 9]

案例:取数字1到101中大于20,且为偶数的数字生成列表

num_list1 = [i for i in range(1, 101) if i % 2 == 0 and i > 20]  # 列表生成式
print(num_list1)

2、字典推导式

# 字典生成式
people_dict = {}
people_list = [("name", "buding"), ("age", 20)]
for k, v in people_list:
    people_dict[k] = v
print(people_dict)
people_dict = {k: v for k, v in [("name", "buding"), ("age", 20)]}  # 字典生成式
print(people_dict)

# 生成{1: 'A', 2: 'B', 3: 'C',....,26:'Z'}
letter_dict = {i: chr(64+i) for i in range(1, 27)}  # 字典生成式
print(letter_dict)
# 生成{'A': 1, 'B': 2, 'C': 3,.....,'Z':26}
letter_dict1 = {v: k for k, v in letter_dict.items()}  # 字典生成式
print(letter_dict1)

3、集合推导式

num_set = {i for i in range(1, 8) if i % 2 == 0}
print(num_set)  # 输出{2, 4, 6}

 

你可能感兴趣的:(Python)