转换Dict键并搜索它们

2024-06-26 10:42:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字典

dict1 = {'Lou': ['Male', '15', '2'],'Jen':['Female','10','3']...and more}

我试图在列表的第二部分搜索大于14的值,然后打印出键/值。我知道我必须将字符串转换为整数,我相信我必须通过dict1.values方法进行迭代,但是我不确定如何指定列表中的第二个值


Tags: and方法字符串列表字典more整数male
3条回答

可以使用dict1.items同时遍历键和值:

for key, value in dict1.items():
    if int(value[1]) > 14:
        print key, value

对于每一个valuevalue[1]得到第二部分,用int将其转换为整数,然后执行检查。当检查成功时,我们打印键和值,因为我们可以访问它们

您需要使用dict.items它将为您提供一个包含键/值对的元组

使用filterlambda

>>> my_dict = {'Lou': ['Male', '15', '2'],'Jen':['Female','10','3']}
>>> filter(lambda x:int(x[1][1])>14, my_dict.items())
[('Lou', ['Male', '15', '2'])]

使用键:

>>> {x:my_dict[x] for x in my_dict if int(my_dict[x][1])>14}
{'Lou': ['Male', '15', '2']}

你可以用听写理解

>>> dict1 = {'Lou': ['Male', '15', '2'],'Jen':['Female','10','3']}
>>> {x:y for x,y in dict1.items() if int(y[1]) > 14}
{'Lou': ['Male', '15', '2']}

相关问题 更多 >