为什么Python3中的for循环返回以字母分割的字典值?
我正在学习一本书中的Python,这里有一个例子。我重写了书中所示的示例,但结果与书中不同 这是代码为什么Python3中的for循环返回以字母分割的字典值?,python,python-3.x,for-loop,dictionary,Python,Python 3.x,For Loop,Dictionary,我正在学习一本书中的Python,这里有一个例子。我重写了书中所示的示例,但结果与书中不同 这是代码 favorite_languages = { 'jen': ['python','ruby'], 'bil': 'c', 'edward': ['ruby','haskell'], 'phil': 'python', 'marcis': ['octave','python','mysql'], } for name, languages in favorit
favorite_languages = {
'jen': ['python','ruby'],
'bil': 'c',
'edward': ['ruby','haskell'],
'phil': 'python',
'marcis': ['octave','python','mysql'],
}
for name, languages in favorite_languages.items():
print("\n" +name.title()+"'s favorite language(s) are:")
for language in languages:
print("\t" + language.title())
这是控制台打印的结果。正如您所看到的,问题在于console为Phil的句子打印值“python”
我试过其他的空闲和同样的结果为什么Phil的例子中python的名字每行都用字母拼写?这是某种Python语言还是我的代码问题?因为行:
for language in languages:
正在迭代字符串“python”并给您一个字母,如果您将其写成['python'],它将迭代列表并将其写成一个单词,因为行:
for language in languages:
在字符串“python”上迭代,如果您将其写成['python'],则会给您一个字母它将遍历列表,并将其写成一个单词你的书可能是故意这样写的,以便让你准确地理解这一点。你的书可能是故意这样写的,以便让你准确地理解这一点。对于OP:同样的事情也发生在比尔最喜欢的语言,
c
,但是因为那只是一个字母,你在印刷中看不到它。对OP来说:同样的事情也发生在比尔最喜欢的语言,c
,但是因为那只是一个字母,你在印刷中看不到它。