Python推导式整理(列表推导式、字典推导式、集合推导式和生成器)

列表推导式

array0 = [x for x in range(11)]
array1 = [x for x in range(11) if x % 2 == 0]
array2 = [x ** 2 for x in range(11)]
print("array0:{}".format(array0))
print("array1:{}".format(array1))
print("array2:{}".format(array2))

array0:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
array1:[0, 2, 4, 6, 8, 10]
array2:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

字典推导式

set0 = {x for x in range(11)}
set1 = {x for x in range(11) if x % 2 == 0}
set2 = {x ** 2 for x in range(11)}
print("set0:{}".format(set0))
print("set1:{}".format(set1))
print("set2:{}".format(set2))

set0:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
set1:{0, 2, 4, 6, 8, 10}
set2:{0, 1, 64, 4, 36, 100, 9, 16, 49, 81, 25}

集合推导式

dic1 = {k: k for k in range(10)}
dic2 = {k * k: k for k in range(10)}
dic3 = {k: k * k for k in range(10)}
print("dic1:{}".format(dic1))
print("dic2:{}".format(dic2))
print("dic3:{}".format(dic3))

dic1:{0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9}
dic2:{0: 0, 1: 1, 4: 2, 9: 3, 16: 4, 25: 5, 36: 6, 49: 7, 64: 8, 81: 9}
dic3:{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

生成器

# 初始化生成器
gen = (x for x in range(20) if x % 2 != 0)
print(gen)
print(type(gen))
print(gen.__next__())
# 遍历
for g in gen:
    print(g,end=" ")

<generator object at 0x0000029EFDA7B350>
<class ‘generator’>
1
3 5 7 9 11 13 15 17 19

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值