从字典的值中删除元素
Removing Element from Dictionary's Values
我有一个以列表作为值的字典,如下所示:
{"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]}
我通过键和值遍历字典,我不修改键,但我通过遍历每个值的列表来修改值,并且只保留列表值,如果它们不是 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": [1, 2, 3, 4, 5]}
我有一个以列表作为值的字典,如下所示:
{"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]}
我通过键和值遍历字典,我不修改键,但我通过遍历每个值的列表来修改值,并且只保留列表值,如果它们不是 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": [1, 2, 3, 4, 5]}