创建10个列表并在一个循环中分配每10个值

时间:2019-06-21 10:02:20

标签: python python-3.x loops variable-assignment

我有一个大小为2列的DataFrame; “ ID”和“名称”。和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]) 

但是:

enter image description here

2 个答案:

答案 0 :(得分:1)

要回答您的问题,是的,可以自动填写。 由于您没有在问题中包含完整的代码,根据我的理解,它应该类似于以下内容。

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])

出现错误的原因是由于使用了圆括号。 另外,如果您使用类似对象的组,则无需添加格式字符串即可将变量用作索引

答案 1 :(得分:1)

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

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]
...