2017-07-17 86 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]) 
相关问题