一、python的遍历字典

字典可用于以各种方式存储信息,因此有多种遍历方式:可遍历字典的所有键值对,也可仅遍历键或值。

二、遍历所有键值对(方法items())

:创建一个名为user_0的字典,然后遍历这个字典的所有键值对

user_0={
    'username':'efermi',
    'first':'enrico',
    'last':'fermi'
}

for key,value in user_0.items():
    print(f"\nKey:{key}")
    print(f"Value:{value}")

输出结果
在这里插入图片描述

三、遍历字典中的所有键(方法keys())

在不需要使用字典中的值时,可使用方法keys()
例一:创建一个字典,遍历字典中所有的键

favorite_languages={
    'jen':'python',
    'sarah':'c',
    'edward':'ruby',
    'phil':'python',
}
for name in favorite_languages:
    print(name.title())

输出结果:
在这里插入图片描述
在这种循环中,可使用当前键来访问与之相关联的值
例二:使用上个例子中的字典,打印两条消息,指出两个人喜欢的语言。像前面一样遍历字典中的名字,但在名字为指定朋友的名字时,打印一条消息,指出其喜欢的语言

favorite_languages={
    'jen':'python',
    'sarah':'c',
    'edward':'ruby',
    'phil':'python',
}
friends=['phil','sarah']
for name in favorite_languages.keys():
    print(f"Hi,{name}")

    if name in friends:
        language=favorite_languages[name].title()
        print(f"\t{name.title()},I see you love {language}")

输出结果:
在这里插入图片描述

方法keys()并非只能用于遍历:实际上,它返回一个列表,其中包含字典中的所有键。

四、按特定顺序遍历字典中的所有键

要以特定的顺序返回元素,一种办法是在for循环中对返回的键进行排序。因此,可以使用函数sorted()来获得按特定顺序排列的键列表的副本。
:沿用例一中的字典,将键值按照从小到大的顺序返回。

favorite_languages={
    'jen':'python',
    'sarah':'c',
    'edward':'ruby',
    'phil':'python',
}
for name in sorted(favorite_languages.keys()):
    print(f"{name.title()},thank you for taking the poll")

输出结果:
在这里插入图片描述

五、遍历字典中的所有值(方法values())

在不需要字典中的键的时候,可使用**方法values()**来返回一个值列表。
:沿用例一的字典,遍历字典中的所有值

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

for language in favorite_languages.values():
    print(language.title())

输出结果
在这里插入图片描述

六、函数set() 剔除重复项

从输出结果我们可以看出,这种做法提取字典中的所有值,而没有考虑是否重复。为了剔除重复值,可使用集合(set)集合中的每个元素都是独一无二的。
例:剔除上一例中的重复值。

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

for language in set(favorite_languages.values()):
    print(language.title())

输出结果:
在这里插入图片描述
注意!!!可使用一对花括号直接创建集合,并在其中用逗号分隔元素。

languages={'python','c','ruby','python'}
print(languages)

输出结果
在这里插入图片描述
集合字典很容易混淆,因为他们都是用一对花括号定义的。当花括号内没键值对时,定义的很可能就是集合。不同于列表和字典,集合不会以特定的顺序存储元素。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐