我有一个列表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循环的情况下执行此操作吗?
答案 0 :(得分:5)
我会这样做,简单和Pythonic与列表理解:
indices = 2,3,4,5,7
mainList.append([sublist[i] for i in indices])
答案 1 :(得分:3)
您可以使用operator.itemegetter
从subList
获取项目,并返回元组。之后您可以在追加之前投射到列表:
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])