如何为数字列表添加分隔符?Python多数字输出格式优化求助
解决多喜爱数字的逗号分隔显示问题
你只需要修改多数字分支的打印逻辑,不需要逐个循环打印数字,而是把数字列表转成逗号分隔的字符串一次性输出:
修改后的完整代码
favourite_numbers = { "ha": [20, 10, 4], "quynh": [2, 5], "nhung": [3, 10, 12], "giang": [10], } for name, numbers in favourite_numbers.items(): if len(numbers) == 1: # 单个数字直接取第一个元素,省去多余循环 print(f"\n{name.title()}'s favourite number is {numbers[0]}.") elif len(numbers) >= 2: # 将数字列表转为逗号分隔的字符串 numbers_str = ', '.join(str(num) for num in numbers) print(f"\n{name.title()}'s favourite numbers are: {numbers_str}")
关键说明
- 单个数字分支可以简化:直接通过
numbers[0]获取列表里的唯一元素,不用额外循环遍历。 - 多数字分支用
', '.join(...)实现拼接:因为列表里是整数类型,先用生成器表达式把每个数字转成字符串,再用', '作为分隔符连接成完整字符串,最后嵌入到格式化字符串中一次性打印。
最终输出效果
Ha's favourite numbers are: 20, 10, 4 Quynh's favourite numbers are: 2, 5 Nhung's favourite numbers are: 3, 10, 12 Giang's favourite number is 10.
内容的提问来源于stack exchange,提问作者Hazel P
相关产品推荐
相关产品推荐

