You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何这段Python字典遍历代码的输出顺序不符合预期?

问题原因与解决办法

为什么输出顺序不符?

你的代码逻辑是每遍历字典的一个键,就连续执行两次打印操作:先输出键值对的空格分隔形式,紧接着输出带冒号的格式。所以处理完apple会先打出它的两行内容,再处理cherry打出它的两行,自然和预期的“先全打空格格式、再全打冒号格式”顺序不一致。

修正代码

要实现预期输出,需要分两次遍历字典:第一次只输出空格分隔的键值对,第二次只输出带冒号的格式:

D = {"apple":44, "cherry":"game"}
# 第一次遍历:打印空格分隔的键值对
for x in D:
    print(x, D[x])
# 第二次遍历:打印带冒号的键值对
for x in D:
    print(f"{x}: {D[x]}")

补充说明:Python 3.7及以上版本的字典会保留键的插入顺序,所以两次遍历的键顺序完全一致,能保证输出顺序符合预期。

内容的提问来源于stack exchange,提问作者Kyungjin Kwak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 12:15:41