python3进阶之推导式3之字典(dict)推导式(comprehensions)

1.前言     

可以对比列表推导式的思路,与字典推导式的进行对比,训练自己的学习迁移能力。

2.表达式

{ key_expr: value_expr for value in collection if condition }

3.实例

例1:

# 用字典推导式以字符串以及其索引位置建字典
# 代码如下:
strings = ['import','is','with','if','file','exception','liuhu']
d = {key: val for val,key in enumerate(strings)}
# 用字典推导式以字符串以及其长度位置建字典
s = {strings[i]: len(strings[i]) for i in range(len(strings))}
k = {k:len(k)for k in strings} #相比上一个写法简单很多
print(d)
# {'import': 0, 'is': 1, 'with': 2, 'if': 3, 'file': 4, 'exception': 5, 'liuhu': 6}
print(s)
# {'import': 6, 'is': 2, 'with': 4, 'if': 2, 'file': 4, 'exception': 9, 'liuhu': 5}
print(k)
# {'import': 6, 'is': 2, 'with': 4, 'if': 2, 'file': 4, 'exception': 9, 'liuhu': 5}




示例2:同一个字母但不同大小写的值合并起来了。
mc = {'a': 10, 'b': 34, 'A': 7, 'Z': 3} mca = {k.lower(): mc.get(k.lower(), 0) + mc.get(k.upper(), 0) for k in mc.keys()} # mcase_frequency == {'a': 17, 'z': 3, 'b': 34}

 

转载于:https://www.cnblogs.com/max520liuhu/p/8901415.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值