ge0*_*rge 3 python dictionary list
我有一个值列表:
['A','B','C','D']
Run Code Online (Sandbox Code Playgroud)
我有一个命令
{1: ['A','F'],2:['B','J'],3:['C','N'],4:['D','X']}
Run Code Online (Sandbox Code Playgroud)
我想获取列表中每个值的键:
我试过了 :
[dict1[x] for x in list]
Run Code Online (Sandbox Code Playgroud)
但是输出错误是因为我没有考虑dict值是一个列表而不是单个值的事实。我怎样才能做到这一点?
我想要的输出将是带有list1值键的列表:
[1,2,3,4]
Run Code Online (Sandbox Code Playgroud)
您可以使用列表理解:
[k for x in lst for k, v in d.items() if x in v]
Run Code Online (Sandbox Code Playgroud)
范例:
lst = ['A','B','C','D']
d = {1: ['A','F'],2:['B','J'],3:['C','N'],4:['D','X']}
print([k for x in lst for k, v in d.items() if x in v])
# [1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)