首页 > 解决方案 > 关于嵌套在字典中的列表的这两段代码有什么区别?

问题描述

我正在通过阅读“Python Crash Course”一书来学习 Python,所以我还是个初学者,我想知道的是这两段代码之间的区别,因为它们对我来说似乎是一样的,但给出的结果却不同。

names={
    'first' : ['john','mike'],
}
for name in names.keys():
    print(name[1])

这给出了结果'i'。

names={
    'first' : ['john','mike'],
}
for name in names.keys():
    print(names[name][1])

这给出了我的预期结果;'麦克风'。任何帮助,将不胜感激。

标签: python

解决方案


试着理解这个例子:

>>> names = {'first': ['john', 'mike']}
>>> for key in names.keys():
...     print(f'Current key is "{key}"')
...     print(f'Second element of "{key}" is "{key[1]}"')
...     print(f'Value of key "{key}" is "{names[key]}"')
...     print(f'Second element of "{names[key]}" is "{names[key][1]}"')
...     
Current key is "first"
Second element of "first" is "i"
Value of key "first" is "['john', 'mike']"
Second element of "['john', 'mike']" is "mike"

推荐阅读