Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 循环返回dict中的值的列表_Python_List_Loops_Dictionary - Fatal编程技术网

Python 循环返回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中返回相应的值。 请告诉我哪里出了问题。 多谢各位

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))