【发布时间】:2017-03-05 15:36:57
【问题描述】:
我试图更好地理解下面的代码,以了解为什么会出现某些输出。
stuff = {'purple':[0, 106, 506, 'SI', 'Lauren'], 'blue':'Cornflower', 'yo':'green'}
stuff_keys_sorted = sorted(stuff.keys())
print sorted(stuff.keys())
for k in stuff_keys_sorted:
if type(stuff[k]) == type(['hello', 'goodbye']):
for item in stuff[k]:
print item
print k
当前输出为:
0
106
506
SI
Lauren
yo
我明白为什么直到“哟”的最后一行都发生了一切。为什么“哟”是打印出来的唯一选项,我的代码不应该只打印字典中的任何键吗?
【问题讨论】:
-
您正在使用
print k打印最后一个键,因为它不是循环的一部分。您需要将其 缩进 使其成为循环的一部分。 -
旁注:无论您在
type(['hello', 'goodbye'])的列表中输入什么内容,都将始终使用list作为类型。在这种情况下,您实际上要验证什么 -
if type(stuff[k]) == type(['hello', 'goodbye']):应该做什么?
标签: python python-2.7 dictionary output