【笔记】python的遍历字典:遍历所有键值对(方法items())、遍历字典中的所有键(方法keys())、按特定顺序遍历字典中的所有键、遍历字典中的所有值(方法values())、函数set()

一、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)

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

  • 14
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
好的,这个问题可以回答。以下是一个示例代码,用来建立一个存储学生基本信息的字典,并且使用while循环来遍历这个字典: ```python # 建立一个学生信息字典 students = {'1001': '张三', '1002': '李四', '1003': '王五', '1004': '赵六'} # 使用while循环遍历字典 for key, value in students.items(): print(key, value) ``` 在这个示例代码,我们首先建立了一个存储学生信息的字典,使用key-value的方式存储每个学生的学号和姓名。然后我们使用for循环遍历字典的每一项,从而输出每个学生的信息。 如果你希望使用while循环来遍历字典,可以按照下面的代码来写: ```python # 建立一个学生信息字典 students = {'1001': '张三', '1002': '李四', '1003': '王五', '1004': '赵六'} # 使用while循环遍历字典 keys = list(students.keys()) # 获取字典列表 i = 0 # 初始化计数器 while i < len(keys): # 遍历列表 key = keys[i] # 获取当前 value = students[key] # 获取当前 print(key, value) # 输出当前项 i += 1 # 计数器加1 ``` 这个示例代码跟前一个代码的输出是一样的,但是我们使用了while循环来遍历字典。首先我们获取字典列表,并且初始化一个计数器i。然后我们使用while循环遍历列表,获取当前的,输出当前项,并且让计数器i加1。在下一次循环,我们获取下一个,再次输出当前项,直到遍历完所有的为止。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜菜努力码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值