Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python循环字典-针对不同列表测试密钥 循环字典_Python - Fatal编程技术网

Python循环字典-针对不同列表测试密钥 循环字典

Python循环字典-针对不同列表测试密钥 循环字典,python,Python,我正在学习Python速成课程,遇到了以下内容,虽然我很高兴它能工作,但我不太明白它是如何工作的 样品 输出 问题: 最喜爱的_语言[name].title()如何知道提供字典值“Python”而不是键“Phil” if name in friends: print(" Hi " + name.title() + ", I see your favorite language is " + favorite_languages[name].title() + "!") 第一行通过顺

我正在学习Python速成课程,遇到了以下内容,虽然我很高兴它能工作,但我不太明白它是如何工作的

样品 输出 问题: 最喜爱的_语言[name].title()如何知道提供字典值“Python”而不是键“Phil”

if name in friends:
print(" Hi " + name.title() +
   ", I see your favorite language is " +
   favorite_languages[name].title() + "!")
第一行通过顺序测试每个元素来过滤
friends
数组。因此,friends中的第一项是
“phil”
,这是friends中的
,因此值“phil”被分配给变量
name

然后,print语句变为:

" Hi " + "phil".title() +
       ", I see your favorite language is " +
       favorite_languages["phil"].title() + "!"
以及
最喜爱的语言[“phil”]=“python”

if
然后根据

第一行通过顺序测试每个元素来过滤
friends
数组。因此,friends中的第一项是
“phil”
,这是friends中的
,因此值“phil”被分配给变量
name

然后,print语句变为:

" Hi " + "phil".title() +
       ", I see your favorite language is " +
       favorite_languages["phil"].title() + "!"
以及
最喜爱的语言[“phil”]=“python”


if
然后根据

最喜爱的语言
测试
朋友
列表中的其他项目。字典将大小写字符串中的键映射到大小写字符串中的值。 在
dictionary.keys()上的foreach循环将在所有键上循环-在本例中是jen、sarah、edward和phil

当访问字典时,例如
dict[key]
,将返回相应的值<例如,code>favorite_语言['phil']
将返回'python'——这称为键值对。
title()
函数只将第一个字符设置为大写

有关词典工作原理的更多详细信息,请参阅


编辑:如上所述,以这种方式迭代并不是迭代字典的预期方式-文档还显示了一些关于如何循环遍历字典的示例。使用这些选项是一个很好的练习:)

最喜欢的语言是字典。字典将大小写字符串中的键映射到大小写字符串中的值。
在
dictionary.keys()上的foreach循环将在所有键上循环-在本例中是jen、sarah、edward和phil

当访问字典时,例如
dict[key]
,将返回相应的值<例如,code>favorite_语言['phil']
将返回'python'——这称为键值对。
title()
函数只将第一个字符设置为大写

有关词典工作原理的更多详细信息,请参阅

编辑:如上所述,以这种方式迭代并不是迭代字典的预期方式-文档还显示了一些关于如何循环遍历字典的示例。使用这些选项是一个很好的练习:)

.keys()
将键作为字符串获取,因此只需使用``favorite\u language[name])即可基于键获取项

.title()
只需将第一个字母设置为大写。-使用此示例时不使用
.title()
,它只有一个小写的第一个字母

在您的示例中,使用键获取值,然后使用
.title()
将其大写

.keys()
将键作为字符串获取,因此只需使用``favorite\u language[name])即可基于键获取项

.title()
只需将第一个字母设置为大写。-使用此示例时不使用
.title()
,它只有一个小写的第一个字母


在您的示例中,您使用键获取值,然后使用
.title()
将其大写。

因为您使用的是
名称
作为键,`
收藏夹语言[name]
将为您提供相应的值,然后将其调用为
.title
作为一个副词,
作为收藏夹语言中的名称。keys()
是不必要的,您只需对常用语言中的名称执行
,在字典对象上迭代,默认情况下直接在键上迭代。@juanpa.arrivillaga-Perfect,名称成为键是有意义的。太简单了!谢谢。您好,我编辑了您的问题以使“if”测试成为循环的一部分,这段代码必须是循环的一部分才能生成提供的输出。因为您使用的是
名称
作为键,`
最喜欢的语言[名称]
将为您提供相应的值,然后您将其称为
。title
作为一个副词,
对于收藏夹语言中的名称。keys()
是不必要的,您只需对收藏夹语言中的名称执行
,在字典对象上迭代,默认情况下直接在键上迭代。@juanpa.arrivillaga-Perfect,名称成为键是有意义的。太简单了!谢谢。您好,我编辑了您的问题,使“if”测试成为循环的一部分,这段代码必须是循环的一部分才能生成提供的输出。
" Hi " + "phil".title() +
       ", I see your favorite language is " +
       favorite_languages["phil"].title() + "!"
favorite_languages = {
 'jen': 'python',
 'sarah': 'c',
 'edward': 'ruby',
 'phil': 'python',
 }

friends = ['phil', 'sarah']
for name in favorite_languages.keys():
  if name in friends:
    print(" Hi " + name +
          ", I see your favorite language is " +
          favorite_languages[name] + "!")