如何在Python中将键值对逐行单独打印输出
Python键值对列表逐行格式化打印实现
问题现状
待处理数据是由键值对元组组成的列表,原始结构如下:
[('04', 3), ('06', 1), ('07', 1)]
直接打印整个列表会输出带括号、逗号、引号的整行结构,不符合输出要求。预期输出为每组键值对单独占一行,键与值以空格分隔,效果如下:
04 3 06 1 07 1
实现方案
遍历列表中的每个元组,拆分键和值后按格式打印即可,两种常用写法都能满足需求:
- 写法1:解包传参(代码最简洁)
利用Python序列解包特性+print函数默认参数分隔规则实现,不需要手动拼接字符串:
data = [('04', 3), ('06', 1), ('07', 1)] for pair in data: print(*pair)
代码中*pair会把元组内的两个元素拆成独立参数传给print,print默认用空格分隔多个传入参数,且每次调用默认在末尾加换行符,完全匹配目标格式。
- 写法2:格式化字符串(扩展灵活度高)
如果后续需要调整分隔符、补全内容格式,用f-string修改更方便:
data = [('04', 3), ('06', 1), ('07', 1)] for key, val in data: print(f"{key} {val}")
这种写法可以直接在字符串模板里调整排版,比如需要给数值补位、加固定前后缀都可以直接修改模板内容,不需要调整整体逻辑。
内容的提问来源于stack exchange,提问作者RProgrammer
相关产品推荐
相关产品推荐

