从字典的值中删除元素

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 键中删除 3s。

所以试试这个:

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]}