2017-02-13 36 views
-1

我有一個列表:如何使用來自循環中的列表的列表?

list1, list2, list3, list4, list5 = ([] for i in range(5)) 

我怎麼能和他們在一個while循環工作?我試過:

x=1 
while (x<6): 

    for col in sheetG.columns[x]: 
     if col.value is not None : 
      list+str(x).append(col.value) 
    x=x+1 

,但它不工作

我得到這個錯誤:

TypeError: unsupported operand type(s) for +: 'type' and 'str' 

我不知道如何將一個值追加到每個列表哪個號碼名單主要依靠X

+2

list是指數據類型。 – akkatracker

+0

你希望這行做什麼'list + str(x).append(col.value)'?正如錯誤消息所說,你正試圖向'str'添加一個'list',這是不行的。更糟糕的是,'list'只是一個類型的名稱,所以你當然不能將它添加到變量中。 – CoryKramer

+0

我希望有list1.append(col.value),後x = 2 list2.append(col.value)等 –

回答

3

創建一個列表的列表爲這樣:

total_lists = [[]] 

for i in xrange(4): 
    total_lists.append([]) 

然後你可以這樣做:

while (x<6): 

    for col in sheetG.columns[x]: 
     if col.value is not None : 
      total_lists[x].append(col.value) 
    x=x+1 
+0

或者簡單的'total_lists = [[] for _ in xrange(5)]''。 初學者也可能會嘗試'[[]] * 5',不這樣做。你將得到一個帶有5個引用的清單,而不是5個不同的清單。 – swenzel