python基础-推导式

95 阅读1分钟
"""
作用:简化代码
语法:
1.列表推导式:[数据 for循环 if判断(如果需要)]
2.集合推导式:{数据 for循环 if判断(如果需要)}
3.字典推导式推导式:{k:v for循环 if判断(如果需要)}

并没有元组推导式,因为元组是只读的,
(数据 for循环 if判断(如果需要) 这就生成器表达式
"""

lst = [i for i in range(10)]
print(lst)  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# lst = [i for i in range(10) if i % 2 == 0]
lst = [i for i in range(0, 10, 2)]
print(lst)  # [0, 2, 4, 6, 8]

lst = {i for i in range(10)}
print(lst)  # {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

lst = ['a', 'b', 'c', 'd']
res = {i: lst[i] for i in range(len(lst))}
print(res)  # {0: 'a', 1: 'b', 2: 'c', 3: 'd'}