Python 从字典中删除元素';s值
我有一本字典,它的值是list,如下所示:Python 从字典中删除元素';s值,python,list,dictionary,key,remove,Python,List,Dictionary,Key,Remove,我有一本字典,它的值是list,如下所示: {“a”:[1,2,3,4,5],“b”:[6,7,8,9,10]} 如何从字典值中删除某些元素?例如,从键a中删除元素3将导致:{“a”:[1,2,4,5],“b”:[6,7,8,9,10]} 我使用的是Python版本3.9.1。提前感谢您的回答。尝试使用字典理解: dct = {"a": [1, 2, 3, 4, 5], "b": [6, 7, 8, 9, 10]} print({k: [i for i i
{“a”:[1,2,3,4,5],“b”:[6,7,8,9,10]}
如何从字典值中删除某些元素?例如,从键a
中删除元素3
将导致:{“a”:[1,2,4,5],“b”:[6,7,8,9,10]}
我使用的是Python版本3.9.1。提前感谢您的回答。尝试使用字典理解:
dct = {"a": [1, 2, 3, 4, 5], "b": [6, 7, 8, 9, 10]}
print({k: [i for i in v if v != 3] for k, v in dct.items()})
输出:
{'a': [1, 2, 4, 5], 'b': [6, 7, 8, 9, 10]}
{"a": [1, 2, 4, 5], "b": [1, 2, 3, 4, 5]}
我按键和值遍历字典,我不修改键,但通过遍历每个值的列表来修改值,并且仅当列表值不是3
时才保留它们
编辑:
正如OP在评论中所说,他只想从a
键中删除3
s
所以试试这个:
dct = {"a": [1, 2, 3, 4, 5], "b": [1, 2, 3, 4, 5]}
print({k: (v if k != 'a' else [i for i in v if i != 3]) for k, v in dct.items()})
输出:
{'a': [1, 2, 4, 5], 'b': [6, 7, 8, 9, 10]}
{"a": [1, 2, 4, 5], "b": [1, 2, 3, 4, 5]}
@AkhmadZaki我编辑了我的答案,请检查编辑:部分,记住接受并更新投票,如果它有效:-)我尝试了它,它删除了
b
键的所有值@U11-Forward@AkhmadZaki我编辑了我的答案,现在应该可以了我认为如果k='a'应该是v如果k!='a'
@AkhmadZaki非常抱歉,请再次检查编辑:部分,它现在肯定可以工作了。我编辑了我的答案,请检查编辑:部分