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

时间:2020-01-21 18:56:45

标签: python

我试图搜索它,但是找不到我需要的东西。 我是Python的新手,并且是一般编程人员,在Python Crash Course第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,但没有得到答案。所以这里有人可以向我解释一下吗?

1 个答案:

答案 0 :(得分:0)

Name是一个字符串,在这种情况下为'phil'或'sarah',因为这是数组friends中的两个值。创建字典的全部目的是您可以获取密钥,并达到在字典中分配的任何值。例如,在第一个循环中,名称等于“ phil”。它进入字典,检查链接的值是phil,并将其设置为该值。在字典中,当您这样做时:

print(dictionary_name[key])

无论链接到什么,它将打印该值。