我正在使用类似的东西:
dict = {
'item_1':['1','2','3'],
'item_2':['4','5','6'],
'item_3':['7','8','9']
}
for item, value in dict.items():
dictKey = 'item_1'
if item == dictKey:
print value
我希望有人能解释为什么我得到:
item_1 ['1', '2', '3']
item_1 ['1', '2', '3']
item_1 ['1', '2', '3']
以及有关如何仅获取其中一个输出而不是全部输出的任何线索。
最佳答案
您不应该(也不需要)迭代字典检查键来获取值:
# wrong
for k, v in dct.items():
if k == key:
return value
Python dict
(顺便说一句,您不应该将其用作变量名)专门为此用例而设计(即通过键访问值) )并且如果使用得当,速度会快得多:
# correct
return dct[key]
如果您不确定是否键入 dct
,请使用 get
:
return dct.get(key) # return None if key not in dct
或
try:
return dct[key]
except KeyError:
# deal with error
关于python - 在迭代字典 python 时使用 if,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20954994/