我可以減少字典中的值嗎?我有一個帶有字符串鍵和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
提交
取消