2017-07-17 85 views
2

我有列表mainList列表。我希望在subList附加這個列表,但只有第2,3,4,5和7項。附加列表與其他列表的某些值

for subList in file: 
    mainList.append(subList[#items 2,3,4,5,7]) 

有沒有辦法做到這一點,除了

for subList in file: 
    temp = [] 
    for item in subList[1:]: 
     if #item not the 6th item: 
      temp.append(item) 
    mainList.append(temp) 

我能做到這一點,而不temp列表和嵌套的for循環追加這個名單?

回答

5

我會做這樣的,簡單的和Python的一個列表理解:

indices = 2,3,4,5,7 
mainList.append([sublist[i] for i in indices]) 
3

您可以使用operator.itemegettersubList獲取項目,返回一個元組。您可以在追加之前添加到列表中:

from operator import itemgetter 

f = itemgetter(2,3,4,5,7) 

for subList in file: 
    mainList.append(list(f(subList))) 

如果您的子列表也可以作爲元組傳遞,您可以刪除列表調用。

0

這應該這樣做:

mainList.extend(subList[1:6]) 
mainList.append(subList[7]) 
相關問題