为什么我的第一个“ for”循环结果与结果不匹配时会出现?

时间:2019-12-03 17:20:50

标签: python-3.x

这是我的代码:

foo = {('dying', 'dead', 'mourir', 'pass away'): ['A.Death','B.DDD'],('yyy', 'qe', 'tgg', 'ijg'):['KOH','TYH']}

key = 'tgg'
for k, v in foo.items():
    if key in k:
        print(v)
    else:
        print('no')

输出:

no
['KOH', 'TYH']

我以为输出应该只是['KOH','TYH'],但是为什么会出现'no'? 如何解决? 我希望只能是['KOH','TYH']

2 个答案:

答案 0 :(得分:0)

您遍历两个字典条目。

'tgg'不在('dying', 'dead', 'mourir', 'pass away') => no
'tgg'位于('yyy', 'qe', 'tgg', 'ijg') => ['KOH','TYH']

答案 1 :(得分:0)

foo = {('死','死','丧','逝'):['A.Death','B.DDD'],('yyy','qe','tgg ','ijg'):['KOH','TYH']}

key ='tgg'

for i, (k, v) in enumerate(foo.items()):
    if i > 0:
        if key in k:
            print(v)
        else:
            print('no')