为什么在本Python速成课程练习中打印字典值?

为什么在本Python速成课程练习中打印字典值?,python,Python,我试图寻找它,但找不到我需要的。 我对Python和编程都是新手,在书的第6章中,我一直试图理解以下代码: favorite_languages = { 'jen': 'python', 'sarah': 'c', 'edward': 'ruby', 'phil': 'python', } friends = ['phil', 'sarah'] for name in favorite_languages.keys(): print(f"Hi, {name.title()}") if

我试图寻找它,但找不到我需要的。 我对Python和编程都是新手,在书的第6章中,我一直试图理解以下代码:

favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}

friends = ['phil', 'sarah']
for name in favorite_languages.keys():
    print(f"Hi, {name.title()}")

if name in friends:
    language = favorite_languages[name].title()
    print(f"\t{name.title()}, I see you love {language}!")
我的问题就在这一行:

language = favorite_languages[name].title()
我不明白为什么当它打印for循环中的下一行时,
language
会打印字典的值而不是键


也许这是一个非常愚蠢的问题,我错过了书中其他地方告诉我的一些东西,但我真的很难弄明白这一点。我试图重读PCC的前几章,在谷歌上搜索并阅读
pydoc
,但没有得到答案。这里有人能给我解释一下吗?

Name是一个字符串,在本例中是“phil”或“sarah”,因为这是数组中的两个值。创建字典的全部意义在于,您可以获取该键,并获得字典中指定给它的任何值。例如,在其第一个循环中,name等于“phil”。它进入字典,检查“phil”链接的值,并将其设置为该值。在字典中,执行此操作时:

print(dictionary_name[key])

它将打印该键链接到的任何值。

name
是该键。为什么
最喜欢的语言[名称]
会把钥匙还给我?如果您需要键,则无需进行查找,因为您已经有了
名称
。因此此行将变量
语言
与键
名称
相关的值相关联?谢谢你
favorite_languages[name]
说“给我
favorite_languages
中与
name
键关联的值”。