#python #string #list-comprehension
#python #строка #понимание списка
Вопрос:
У меня есть список, подобный следующему, который создается путем чтения файла 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:
Последний элемент в списке имеет ['', '']
и не имеет line[2]
и line[3]
. Я предлагаю вам сначала обрезать этот бесполезный дополнительный список с конца.