使用带有列表推导的嵌套列表更新列表

时间:2014-06-30 15:32:34

标签: python string list-comprehension

我有一个类似下面的列表,它是通过读取csv文件生成的:

cr = csv.reader(fileName, delimiter='\t')
lineList =  [line for line in cr]
print lineList

>>>[['TestTest', 'kvhx', 'Status', 'segment'], ['', '41000020003000000', '', 'aaa'], ['', '41000020004000000', '', 'dddd'], ['', '41000020005000000', '', 'ccc'], ['', '41000020006000000', '', 'aaa'], ['', '41000020007000000', '', 'eeen'], ['', '41000020008000000', '', 'dds'], ['', '41000020009000000', '', 'ssd'], ['', '41000020010000000', '', 'eee'], ['', '41000020011000000', '', 'qq'], ['', '']]

我喜欢使用以下列表理解来更新列表:

NewLineList =  [[line[0], (line[1][0:3] + ';' + line[1][3:7] + ';' + line[1][7:11]), line[2], line[3]]  for line in cr]

我收到列表索引超出范围的错误。我做错了什么?

1 个答案:

答案 0 :(得分:1)

列表中的最后一项是['', ''],并且没有line[2]line[3]。我建议你先把这个无用的额外清单剪掉。

相关问题