Python 循环返回dict中的值的列表
我试图从列表中读取数据,并在dict中返回相应的值。 请告诉我哪里出了问题。 多谢各位Python 循环返回dict中的值的列表,python,list,loops,dictionary,Python,List,Loops,Dictionary,我试图从列表中读取数据,并在dict中返回相应的值。 请告诉我哪里出了问题。 多谢各位 DICT = {"b": "21", "g": "54", "f": "121", "t": "1", "j": "33"} n = ['b', 'w', 'f'] for keys in n: if keys in n: if n == DICT.keys(): print(DICT.values()) else: i
DICT = {"b": "21", "g": "54", "f": "121", "t": "1", "j": "33"}
n = ['b', 'w', 'f']
for keys in n:
if keys in n:
if n == DICT.keys():
print(DICT.values())
else:
if keys not in n:
print('Not Available')
似乎这就是您正在尝试执行的操作如果使用get()方法,这将容易得多: 它产生了以下产出: 21
不可用
121
您正在迭代n的所有元素,但检查n是否是每个循环的字典的所有键,而不是。尝试这样做:
for key in n:
if key in DICT:
print(DICT[key])
else:
print('not available')
如果使用
get
for k in n:
print(DICT.get(k, 'Not Available'))
运行此操作时会出现哪些错误?出现了什么问题?您是否得到了错误的输出?是否有错误?看起来您的标识全搞乱了,或者只是格式有问题?
对于n中的键:如果n中的键:
似乎有误。您正在迭代n
中的键,因此检查每个键是否在n
中充其量是多余的。在代码中,您在所有字典键列表中执行O(n)查找,以查看该键是否在字典中。
for key in n:
if key in DICT:
print(DICT[key])
else:
print('not available')
>>>for keys in n:
if keys in DICT.keys():
print DICT[keys]
else:
print ('Not Available')
21
Not Available
121
for k in n:
print(DICT.get(k, 'Not Available'))
print '\n'.join((DICT[key] for key in n if key in DICT))