创建 10 个列表并在一个循环中为每 10 个值赋值

Create 10 lists and assign each 10 values in one loop

我有一个大小为 2 列的 DataFrame; 'ID' 和 'name'。和 100 行(ID 从 0 到 99)。 我想创建 10 个组作为列表并放入每个组中,10 个 ID。例如,

group0 = (0,10,20,30,40,50,60,70,80,90)

group2 = (2,12,22,32,42,52,62,72,82,92)

...

有没有办法自动完成?我试过了:

var = 1
for i in range (0,10) :
    var = i
    "group{t}".format(t=var) = ()
    for j in range (0,10) :
        "group{k}".format(k=var).append(df.iloc[10*i+j][0]) 

但是:

要回答您的问题,是的,可以自动完成。 由于您没有在问题中包含完整的代码,根据我的理解,它应该如下所示。

var =1
group = {} # Declare group object before assigning values
for i in range (0,10) :
    var = i
    group[var] = []  # Replace the brackets
    for j in range (0,10) :
        group[var].append(df.iloc[10*i+j][0])

您收到错误的原因是因为使用了圆括号。 此外,如果您像对象一样使用组,则无需添加格式字符串即可将变量用作索引

这是创建列表列表的快速解决方案

list_of_lists = []
for i in range(0,10):
    newList = []
    for j in range(0, 10):
        newList.append(i + j*10)
    list_of_lists.append(newList)

list_of_lists[0] = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
list_of_lists[1] = [1, 11, 21, 31, 41, 51, 61, 71, 81, 91]
...