Python在列表中删除元组的第一个元素

时间:2015-10-02 14:03:02

标签: python

我正在打开一个csv文件并将其插入列表中。我也忽略了文件的第一行,因为它不需要:

with open('test.csv', 'rb') as f:

        next(f,None)

        reader = csv.reader(f)
        a_list = map(tuple, reader)

print a_list

输出为:[('1,'hi','you'),('2','bye','bye')]

但是,不需要每个元组的第一个元素。我做了足够的研究,知道我无法操纵元组,但我似乎无法找到答案如何成功删除a_list中每个元组的第一个元素。谢谢你

2 个答案:

答案 0 :(得分:8)

首先,元组是不可变的。

其次尝试这种方法:

 a_list = [el[1:] for el in map(tuple, reader)]

检查slice notation

列表理解更可取:

a_list = [el[1:] for el in (tuple(x) for x in reader)]

答案 1 :(得分:0)

如果不需要元组,则可以使用以下列表解析:

with open('test.csv', 'rb') as f:
    next(f,None)
    reader = csv.reader(f)
    a_list = [cols[1:] for cols in reader]

print a_list

这将打印以下内容:

[['hi', 'you'], ['bye', 'bye']]