[英]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.