繁体   English   中英

如何从字典中删除键? (询问用户是哪一个)Python

[英]How to remove key from dictionary? (asking user which one) Python

我想从字典中删除键,但是一个用户输入,我已经写了这段代码,但它给了我这个错误: for i in phoneNumbers.keys(): RuntimeError: dictionary changed size during iteration


phoneNumbers = {'John': '534-7887', 'Steven': '988-1187', "Max" : "765-2334", "Matt" : "987-1222"}
remove = input("Which key do you want to remove? ")
for i in phoneNumbers.keys():
    if i == remove:
        del phoneNumbers[remove]
print(phoneNumbers)

我知道这个是正确的,但为什么我不能在循环时删除它。

phoneNumbers = {'John': '534-7887', 'Steven': '988-1187', "Max" : "765-2334", "Matt" : "987-1222"}
remove = input("Which key do you want to remove? ")
del phoneNumbers[remove]
print(phoneNumbers)

由于错误消息建议避免迭代和更改相同object 的大小,它可能会增加副作用。 而是迭代一个浅拷贝

for i in phoneNumbers.copy():
    if i == remove:
        del phoneNumbers[remove]
print(phoneNumbers)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM