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

慕田峪4524236
TA贡献1875条经验 获得超5个赞
假设在这种情况下,“在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

潇潇雨雨
TA贡献1833条经验 获得超4个赞
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}
添加回答
举报
0/150
提交
取消