如何移除itertools.combinations生成列表元素的括号并逐行输出
解决方法
你可以直接遍历itertools.combinations生成的元组,将元组内的元素转为字符串后用分隔符连接输出,就能去掉默认的括号格式。
修改后的代码
import itertools x = range(1, 4) # 直接遍历组合结果,无需额外创建列表存储 for combo in itertools.combinations(x, 2): # 将元组元素转为字符串,用逗号加空格连接后打印 print(', '.join(map(str, combo)))
输出结果
1, 2 1, 3 2, 3
补充说明
- 原代码里的
combos列表和for i in range(len(y))的写法完全冗余,直接遍历itertools.combinations的返回结果更简洁高效。 - 如果不需要逗号后的空格,可改为
','.join(map(str, combo)),输出会变成1,2这种紧凑格式。 - 也可以用格式化字符串实现:
print(f"{combo[0]}, {combo[1]}"),但这种写法仅适用于固定长度的组合,灵活性不如join方法。
内容的提问来源于stack exchange,提问作者cat_herder
相关产品推荐
相关产品推荐

