Python通过for循环遍历字典时如何识别skill是mySkills的键
问题解答
Python中直接在for循环中遍历字典对象时,默认遍历的就是字典的键集合,这是Python字典内置的迭代规则决定的:
- 字典实现了Python的可迭代协议,当你执行
for skill in mySkills时,解释器会自动调用字典的__iter__()魔法方法,该方法返回的迭代器专门用于遍历字典的所有键。 - 你当前的写法和显式调用
keys()方法遍历键的效果完全等价:for skill in mySkills.keys()
字典常用遍历方式扩展
你可以根据实际需求选择不同的遍历形式:
- 仅遍历键
# 隐式默认遍历键 for skill in mySkills: print(f"My Progress in Lang {skill} Is: {mySkills.get(skill)}") # 显式调用keys(),可读性更强 for skill in mySkills.keys(): print(f"My Progress in Lang {skill} Is: {mySkills.get(skill)}")
- 仅遍历值
for progress in mySkills.values(): print(progress)
- 同时遍历键和值(更适合你当前的场景,不需要额外调用
get()方法取值)
for skill, progress in mySkills.items(): print(f"My Progress in Lang {skill} Is: {progress}")
内容的提问来源于stack exchange,提问作者Ahmed Ali
相关产品推荐
相关产品推荐

