将特定行从一个列表附加到另一个列表

时间:2013-05-17 23:54:43

标签: python list 2d

尝试获取包含7列和10行的2d列表时遇到一些困难,并且仅将列4,5和6(或索引0中的3,4,5)的所有行追加到新列表中。原始列表实际上是一个csv,并且更长,但我只是将其中的一部分放在函数中以进行故障排除。 到目前为止我所拥有的是......

def coords():
    # just an example of first couple lines...
    bigList = [['File','FZone','Type','ID','Lat','Lon','Ref','RVec']
    ['20120505','Cons','mit','3_10','-21.77','119.11','mon_grs','14.3'] 

    newList=[] 
    for row in bigList[1:]: # skip the header   
        newList.append(row[3])
    return newList       # return newList to main so it can be sent to other functions

这段代码只给我一个带有'ID'的新列表,但我也想要'Lat'和'Lon'。 新列表应该看起来像...... ['3_10',' - 21.77','119.11'] ['4_10',' - 21.10'...] 我尝试重写newList.append(row [3,4,5])...当然这不起作用但不确定如何去做。

1 个答案:

答案 0 :(得分:2)

row[3]指的是第四个元素。你似乎想要第四到第六个元素,所以切片:

row[3:6]

你也可以使用列表理解来完成所有这些:

newList = [row[3:6] for row in myList[1:]]