如何调用自定义combinations生成器函数查看数字组合结果?
生成器转列表及组合获取指南
先纠正一个参数问题
你调用combinations(range(4),5)时,range(4)对应的是0、1、2、3这4个元素,而你要求生成5位组合(r=5),此时r大于元素总数n,函数会直接返回空,不会生成任何组合。如果想获取0到4的5位组合,应该把参数改成combinations(range(5),5)(range(5)包含0-4共5个元素),或者换成其他合理的r值(比如r=2生成两两组合)。
生成器转列表的具体操作
生成器对象本身只会显示内存地址,要查看实际组合,把函数调用整体放进list()的括号里就行:
# 示例:生成0-3的2位所有组合 result = list(combinations(range(4), 2)) print(result)
运行后会输出:[(0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 3)]
简单说,就是把你原来的combinations(range(4),5)整个套进list()的括号中,就能完成生成器到列表的转换。
其他查看组合的方式
除了转列表,还可以用循环逐个打印:
for combo in combinations(range(4), 2): print(combo)
这样会依次输出每个组合内容。
内容的提问来源于stack exchange,提问作者Raginmund_Odinson
相关产品推荐
相关产品推荐

