现在的位置: 首页 > 综合 > 正文

python对字典的遍历

2017年10月21日 ⁄ 综合 ⁄ 共 751字 ⁄ 字号 评论关闭
文章目录

python对字典的遍历可以理解为字典先拆解成(key,value)对组成的list。

在python解释器里面,输入help(dict.items)可以看到:

    D.items() -> list of D's (key, value) pairs, as 2-tuples

for node,score in p.items():
    if node<17:
        p[node]=0
    else:
        p[node]=0.6

以上代码认为 node-》score是一个key-value对,遍历字典,对标号小于17的node,修改其score为0,否则,修改为0.6.

在ipython中实验字典键或者值的求和:

已经有字典y,现在要算出值的和(应该是9),以及键的和(应该是8)

In [40]: y
Out[40]: {3: 4, 5: 5}

In [41]: total=sum(e for k,e in y.items())
In [42]: total
Out[42]: 9

In [43]: total=sum(k for k,e in y.items())
In [44]: total
Out[44]: 8

在字典中,通过value反查key:

In [96]: d
Out[96]: {1: 1, 2: 5, 3: 10, 5: 1}

In [97]: [k for k,v in d.items() if v==1]
Out[97]: [1, 5]

In [98]: [k for k,v in d.items() if v==1][0]
Out[98]: 1

通过zip合并两个队列(或sequence),再得到字典:

In [96]: d
Out[96]: {1: 1, 2: 5, 3: 10, 5: 1}
In [116]: what=dict(zip(sort(d.keys()),sort(d.values())))

In [117]: what
Out[117]: {1: 1, 2: 1, 3: 5, 5: 10}

【上篇】
【下篇】

抱歉!评论已关闭.