0
点赞
收藏
分享

微信扫一扫

python推导式

伢赞 2022-03-16 阅读 36
"""推导式先找for 循环 然后再是 for循环后的条件 然后再是最前面的结果集"""
"""1.列表推导式"""
# 普通推导式
print([i for i in range(5)])  # [0, 1, 2, 3, 4]
# 筛选模式
print([i for i in range(5) if i > 2])  # [3, 4]
# 双条件 一个一个往后走
print([i for i in range(5) if i > 2 if i < 4])  # [3]
# 结构模式 三元运算符 for 循环 然后循环后的筛选条件 然后 三元运算
print([i if i > 3 else "假的" for i in range(5) if i > 2])  # ['假的', 4]
# 双重for循环
print([i for i in range(4) for j in range(2)])  # [0, 0, 1, 1, 2, 2, 3, 3]
# 等价于
my_list = []
for i in range(4):
    for j in range(2):
        my_list.append(i)
print(my_list)

"""2.集合推导式 其余方法参见列表推导式"""
print({i for i in range(5)})  # {0, 1, 2, 3, 4}
"""3.字典推导式"""
print({i: i + 2 for i in range(5)})  # {0: 2, 1: 3, 2: 4, 3: 5, 4: 6}
"""4.生成器推导式元组没有推导式"""
print((i for i in range(5)))  # <generator object <genexpr> at 0x000002685594EAC0>
g = (i for i in range(5))
print(next(g))
print(next(g))
print(next(g))
print(next(g))
举报

相关推荐

0 条评论