如何在 Python 中逐行填充表?我尝试追加,但它不起作用



我想找到所有数字的组合{0,1,2,3,4},并将它们打印在一个表中,第一列是订单号,第二列是特定的组合。我想要的输出应该采用以下形式:

1(0,(

2(1,(

6(0,1(

我尝试了以下代码

import numpy as np
import itertools
rows=list(range(5))
combrows=[]
for k in range(1,5):  #the number of rows k takes values from 1 to 5
for combo in itertools.combinations(rows,k):
combrows.append(combo)
ind=1
store=[]
for i in combrows:
store.append([[ind],[i]])
ind=ind+1
print(store)

但是生成的表格是一条水平线,而不是一个有两列的二维矩形表格。我该怎么解决这个问题?谢谢

这是一个非常简单的解决方案:

from itertools import combinations
numbers = list(range(5))
lst = []
for l in (combinations(numbers, r) for r in range(1, 5)):
lst.extend(l)
for i, j in enumerate(lst):
print(i+1, j)

在线试用!

enumerate自动生成行号。

最新更新