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

Python集合数据打印问题:按指定格式输出两个集合内容

搞定你的Python字典打印需求

嘿,兄弟,先提个小细节:你写的l和m其实是Python里的字典(dictionary),不是集合(set)哦~集合是没有键值对结构的,不过这不影响咱们实现你要的效果!

要实现「编号、字典l的数据、字典m的数据」的连续打印格式,咱们可以这么做:

分步实现版(适合新手理解)

# 先定义你的两个字典
l = {'7': 44, '8': 65, '9': 66, '10': 50, '11': 61, '12': 62, '13': 53, '14': 78, '15': 61, '16': 23}
m = {'7': 39, '8': 58, '9': 57, '10': 59, '11': 55, '12': 59, '13': 74, '14': 51, '15': 60, '16': 30}

# 对字典的键进行排序(因为键是字符串数字,用key=int确保按数字顺序排列)
sorted_keys = sorted(l.keys(), key=int)

# 收集所有需要打印的内容
output_items = []
for key in sorted_keys:
    output_items.append(key)          # 加入编号
    output_items.append(str(l[key]))  # 加入l对应的数据
    output_items.append(str(m[key]))  # 加入m对应的数据

# 用空格连接所有元素并打印
print(' '.join(output_items))

一行简化版(适合快速实现)

如果觉得上面的步骤太繁琐,也可以用列表推导式把代码压缩成一行:

l = {'7': 44, '8': 65, '9': 66, '10': 50, '11': 61, '12': 62, '13': 53, '14': 78, '15': 61, '16': 23}
m = {'7': 39, '8': 58, '9': 57, '10': 59, '11': 55, '12': 59, '13': 74, '14': 51, '15': 60, '16': 30}

print(' '.join([item for key in sorted(l.keys(), key=int) for item in [key, str(l[key]), str(m[key])]]))

关键说明

为什么要排序?因为虽然Python 3.7+的字典默认是插入有序的,但你的键是字符串类型的数字(比如'7'、'10'),如果直接排序字符串,'10'会排在'7'前面,不符合咱们要的数字顺序。用key=int可以把字符串键转换成整数来排序,保证输出是从7到16的顺序。

运行上面的代码,你就能得到和预期示例一致的连续格式输出啦。

内容的提问来源于stack exchange,提问作者Ádám Papp

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:11:02