繁体   English   中英

如何从字典中删除值?

[英]How to remove values from a dictionary?

我想删除 python 字典的选定值。

例如,在下面的 python 字典中,我想删除每个键的对号,

year_dict = {2010: [1], 2009: [4,7,5,8,10], 1989: [5,6,7,15]}

我想获得

year_dict = {2010: [1], 2009: [7,5], 1989: [5,7,15]}

从您的示例中,您似乎想从字典值中删除偶数。 为此,您可以遍历字典中的items ,并使用列表推导过滤掉偶数。

>>> {k: [i for i in v if i%2==1] for k, v in year_dict.items()}
{2010: [1], 2009: [7, 5], 1989: [5, 7, 15]}

正如 Cory 所说,您可以迭代为您提供一对键和相应值的项目。 您也可以仅使用.keys() 进行迭代,然后使用列表推导获取相应的值:

year_dict = {key: [val for val in year_dict[key] if val%2==1] for key in year_dict.keys()}

您也可以使用filter function。 Python 中的filter() function 接收 function 和list ZDBC11CAA4BD5BDA99F7D7786。 这提供了一种优雅的方式来过滤掉序列“序列”的所有元素,function 返回True

>>>{k: list(filter(lambda x: (x%2 != 0) , v)) for k, v in year_dict.items()}
{2010: [1], 2009: [7, 5], 1989: [5, 7, 15]}

暂无
暂无

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

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