zoukankan      html  css  js  c++  java
  • 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}

    仙衣眠云碧岚袍,一襟潇洒,两袖飘飘。玉墨舒心春酝瓢,行也逍遥,坐也逍遥。
  • 相关阅读:
    bfs两种记录路径方法
    次小生成树
    2018 ICPC 区域赛 焦作场 D. Keiichi Tsuchiya the Drift King(计算几何)
    数组分组
    POJ
    数位DP详解
    2018ICPC青岛 E
    HDU
    Google工程师打造Remix OS系统 桌面版安卓下载
    使用angular封装echarts
  • 原文地址:https://www.cnblogs.com/max520liuhu/p/8901415.html
Copyright © 2011-2022 走看看