Python 一个列表和一个字典
Python a list and a dictionary
我有一个列表 (x) 和一个字典 (d)
x=[1,3,5]
d={1:a,2:b,3:c,4:d,5:e}
如您所见,一些变量与字典中的一些键相匹配
但是我怎样才能只打印键与列表中的变量匹配的值呢?
我尝试了一个 for 循环,但它 returns 只是关键。感谢您的帮助!
是这样的吗?
for key in d:
if key in x:
print d[key]
这将循环遍历字典中的每个键,如果键出现在 x
中,那么它将打印 x
.
的值
如果您确定 x
中的所有键都在您的字典中
for key in x:
print(d[key])
否则你可以先检查
for key in x:
if x in d:
print(d[key])
这样试试:
>>> x=[1,3,5]
>>> d={1:'a',2:'b',3:'c',4:'d',5:'e'}
>>> for key in d.keys():
... if key in x:
... print d[key]
...
a
c
e
或者您可以使用 dict.get:
>>> for num in x:
... print d.get(num,"not found")
...
a
c
e
dict.get
将给出键的值,如果键在字典中找到 else defaultvalue
语法:dict.get(key[ default])
你可以使用这个单行列表理解:
[d[key] for key in x if key in d]
如果不是列表中的所有项目都是字典中的键,这也适用。
例如:
>>> d = {1:'a', 3:'b'}
>>> x = [1, 2]
>>> [d[key] for key in x if key in d]
... ['a']
我有一个列表 (x) 和一个字典 (d)
x=[1,3,5]
d={1:a,2:b,3:c,4:d,5:e}
如您所见,一些变量与字典中的一些键相匹配
但是我怎样才能只打印键与列表中的变量匹配的值呢?
我尝试了一个 for 循环,但它 returns 只是关键。感谢您的帮助!
是这样的吗?
for key in d:
if key in x:
print d[key]
这将循环遍历字典中的每个键,如果键出现在 x
中,那么它将打印 x
.
如果您确定 x
中的所有键都在您的字典中
for key in x:
print(d[key])
否则你可以先检查
for key in x:
if x in d:
print(d[key])
这样试试:
>>> x=[1,3,5]
>>> d={1:'a',2:'b',3:'c',4:'d',5:'e'}
>>> for key in d.keys():
... if key in x:
... print d[key]
...
a
c
e
或者您可以使用 dict.get:
>>> for num in x:
... print d.get(num,"not found")
...
a
c
e
dict.get
将给出键的值,如果键在字典中找到 else defaultvalue
语法:dict.get(key[ default])
你可以使用这个单行列表理解:
[d[key] for key in x if key in d]
如果不是列表中的所有项目都是字典中的键,这也适用。
例如:
>>> d = {1:'a', 3:'b'}
>>> x = [1, 2]
>>> [d[key] for key in x if key in d]
... ['a']