使用另一个列表的某些值附加列表

时间:2017-07-17 13:44:19

标签: python list append

我有一个列表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循环的情况下执行此操作吗?

3 个答案:

答案 0 :(得分:5)

我会这样做,简单和Pythonic与列表理解:

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

答案 1 :(得分:3)

您可以使用operator.itemegettersubList获取项目,并返回元组。之后您可以在追加之前投射到列表:

from operator import itemgetter

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

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

如果子列表也可以作为元组传递,则可以删除列表调用。

答案 2 :(得分:0)

这应该做:

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