python的各种推导式_Python 各种推导式

列表推导式

一般推导

# 生成1、2、3、4、5、6、7、8、9、10的列表

lis = [i for i in range(1,11)]

带过滤条件的推导

# 生成 0、2、4、6、8 的列表

[i for i in range(10) if i % 2 == 0]

带函数的推导

# 生成 0, 1, 4, 9, 16, 25, 36, 49, 64, 81 的列表

func = lambda a:a**2

lis = [func(i) for i in range(10)]

字典推导式

字典花式初始化

# way1

dic1 = {'name': 'monkey', 'gender': 'male'}

# {'name': 'monkey', 'gender': 'male'}

# way2

dic2 = dict(name='monkey', gender='male')

# {'name': 'monkey', 'gender': 'male'}

# way3

dic3 = dict(zip(('name', 'gender'), ('monkey', 'male')))

# {'name': 'monkey', 'gender': 'male'}

# way4

lis = ['name', 'gender']

dic4 = dict.fromkeys(lis, None)

# {'name': None, 'gender': None}

# way5

dict([('name', 'monkey'), ('gender','male')])

# {'name': None, 'gender': None}

字典推导式

# 将两个列表拟合成字典

lis1 = [0, 1, 2, 3, 4, 5, 6]

lis2 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']

dic = {k:v for k,v in zip(lis1, lis2)}

集合推导式

set1 = {i for i in range(10)}

复合推导

# 列表 字典 元组的复合

[{k:(v,j)} for k,v,j in zip(lis, lis1, lis2)]

# [

# {0: (0, 'a')},

# {1: (1, 'b')},

# {4: (2, 'c')},

# ...

# ]

扫码关注我们

微信号:SRE实战

拒绝背锅 运筹帷幄

×

选择打赏方式:

微信

QQ钱包

支付宝

打赏

打赏

打赏

多少都是心意!谢谢大家!!!

×

选择分享方式:

微信扫一扫,分享朋友圈

Or

手机扫一扫,精彩随身带

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值