我可以减少字典中的值吗?我有一个带有字符串键和int值的字典,如何递减所有值的键?
d={'A': 0, 'B' : 1, 'C' : 2, 'D' : 3}
d.pop('B')
##How to decrement values after 'B' ?
答案 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}