Python 用另一个列表的某些值追加列表

Python 用另一个列表的某些值追加列表,python,list,append,Python,List,Append,我有一个列表mainList。我想在这个列表后面附加一个子列表,但只添加第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.a

我有一个列表
mainList
。我想在这个列表后面附加一个
子列表
,但只添加第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循环附加此列表的情况下执行此操作吗?

您可以使用
操作符.itemegetter
子列表中获取项,返回元组。在追加之前,您可以随后强制转换到列表:

from operator import itemgetter

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

for subList in file:
    mainList.append(list(f(subList)))
如果子列表也可以作为元组传递,则可以删除列表调用。

这应该可以:

mainList.extend(subList[1:6])
mainList.append(subList[7])

我会像这样做,简单,有一个列表理解:

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