python中对字典的遍历

python中,对字典的遍历很有用,平常编程中可能经常会用到。下面是几种常用的方法。

1. for循环遍历

stu_info = {"name": 'lily', "age": 18, "height": 170, "weight": 50}

# 遍历方法1
for i in stu_info:  # 这种其实是遍历键
    print(i)   # 打印出来的只是键

# 遍历方法2
for key in stu_info.keys():  # 遍历键
    print(f"{key}: {stu_info[key]}")

# 遍历方法3
for key, value in stu_info.items():  # 遍历键值
    print(f"{key}: {value}")

# 遍历方法4:遍历值
for value in stu_info.values():
    print(f"{value}")

2. 字典推导式:字典推导式是一种紧凑的方式来创建新的字典或从现有字典生成新的字典。可以在字典推导式中遍历原字典的键和值,并根据条件创建新的键值对

# 创建一个新字典
stu_grades = {"amy": 90, "luke": 87, "lily": 78, "han": 70}

# 使用字典推导式创建新字典,只包含成绩大于80的学生
top_stus = {name: grade for name, grade in stu_grades.items() if grade > 80)

print(top_stus)

在上面的代码中,使用字典推导式创建了新的字典,返回成绩大于80的学生。

3. 使用enumerate()函数:可用于同时遍历字典的键和值,并提供索引。这对于需要记录元素的位置或索引的情况非常有用。

stu_grade = {"ali": 90, "lily": 87, "mark": 84, "pony": 94}

for index, (name, grade) in enumerate(stu_grade.items()): #这里的index索引从0开始
    print(f"student#{index+1}: {name} -- grade: {grade}")

运行代码,返回

4. 使用迭代器:如果内存限制较低或需要处理非常大的字典,可以使用迭代器来遍历字典。iter()用于创建字典的迭代器,然后用next()函数逐个获取键值对。

stu_grades = {'berry': 90, 'cindy': 89, 'rick': 72, 'herb': 95}

# 创建iterator
iterator = iter(stu_grades)

while True:
     try:
        name = next(iterator)  # 迭代器是对键的迭代
        grade = stu_grades[name]
        print(f"{name}: {grade}")
     except StopIteration:  # 当读到最后一个键值对就停止
        break

使用迭代器可以有效处理大型字典,不需要一次性把所有键值对全加载到内存中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值