Python减量字典

时间:2018-07-09 18:22:29

标签: python dictionary

我可以减少字典中的值吗?我有一个带有字符串键和int值的字典,如何递减所有值的键?

d={'A': 0, 'B' : 1, 'C' : 2, 'D' : 3}
d.pop('B')
##How to decrement values after 'B' ? 

2 个答案:

答案 0 :(得分:3)

在这种情况下,假设“在B之后”是指按字母顺序在“ B”之后的键,则此代码段应该有效:

d={'A': 0, 'B' : 1, 'C' : 2, 'D' : 3}
d.pop('B')
for k in d.keys():
    if k > 'B':
        d[k] -= 1

答案 1 :(得分:0)

d={'A': 0, 'B' : 1, 'C' : 2, 'D' : 3}
e={'dfg': 3, 'dec': 2, 'aaa': 0, 'cbbb': 1}


def remElem(l, i):
    del l[i]
    [l.update({k: v-1}) for k, v in l.items() if k > i]


print(d)
remElem(d, 'B')
print(d)

print(e)
remElem(e, 'cbbb')
print(e)

礼物:

{'A': 0, 'C': 2, 'B': 1, 'D': 3}
{'A': 0, 'C': 1, 'D': 2}

{'dfg': 3, 'dec': 2, 'aaa': 0, 'cbbb': 1}
{'dfg': 2, 'dec': 1, 'aaa': 0}