Python字典更新后直接打印与使用enumerate遍历打印结果差异问题
输出差异的核心原因
- Python 中直接迭代字典对象时,默认返回的是字典的所有键(key),不会返回对应的值。而字典对象的内置打印逻辑会输出完整的键值对,二者本身的设计行为就不同。
enumerate()的作用是为传入的可迭代对象的每个元素拼接一个从0开始的递增序号,返回(序号, 元素)的元组。你给enumerate()传入了字典x,它就会遍历x的默认迭代内容也就是所有键,所以最终打印出来的只有序号和字典的键。
如果想要用enumerate遍历的同时拿到键和值,可以改为遍历字典的items()方法返回的可迭代对象,示例代码如下:
x = {'s': 1, 'd': 2, 'f': 4} x['s'] = 6 for q, (k, v) in enumerate(x.items()): print(q, k, v)
运行后就能得到同时包含序号、键、值的输出:
0 s 6 1 d 2 2 f 4
内容的提问来源于stack exchange,提问作者Jaswanth Reddy
相关产品推荐
相关产品推荐

