欢迎访问Python每天3分钟系列。
每天花3分钟时间,学习或温习一个Python知识点。
今天是第021篇:
循环字典
字典是一个键值对,初学者可能有点不习惯如何去循环一个字典:
方法1:循环key
scores = {'zhangsan':98, 'lisi':89, 'maishu':96}
for name in scores:
print(f'{name}:{scores[name]}')
-
默认情况下,循环字典,其实是循环的字典的keys,所以name就是一个个key。 -
如果需要访问value,可以通过 scores[name]
来取用。
执行结果:
zhangsan:98
lisi:89
maishu:96
[Finished in 15ms]
因为默认循环的就是keys,下面的代码和上面是完全一样的原理:
for name in scores.keys():
print(f'{name}:{scores[name]}')
我们调用了scores.keys()方法获得key的列表,再去循环它。这和上面效果是一样的。
方法2:循环key和value
如果想要更方便的取用key和value,可以这样写:
for name, score in scores.items():
print(f'{name}:{score}')
通过items()函数,把字典转成了一个(key, value)
元组的列表,这样就可以直接访问key和value了。
代码中为了更加直观,我们用了name和score表示key和value。
注意这里还用到了Python的自动开包功能,把元组自动变成两个变量。
方法3:打印序号
如果除了key和value,还想打印序号。期望的结果是这样的:
0 zhangsan 98
1 lisi 89
2 maishu 96
可以使用enumerate函数,代码如下:
scores = {'zhangsan':98, 'lisi':89, 'maishu':96}
for i, (name, score) in enumerate(scores.items()):
print(i, name, score)
先用items()函数转成元组的列表,再使用enumerate函数加上序号。
注意,因为是元组,for的变量中一定要加上括号:i, (name, score)
。Python只会做简单的自动开包,这里还有个变量i
,它就不会自动开包,它只是单个变量元组,需要加上括号。
声明:本网站资源来源于网络收集,如有侵权,请联系站长进行删除处理。 分享目的仅供大家学习和交流,请不要用于商业用途,否则后果自负。本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解。本站资源售价只是赞助,收取费用仅维持本站的日常运营所需。反馈邮箱:1159995880@qq.com
评论(0)