У меня есть этот кусок:Назначение переменных в петлевой Python
As, Bs, Cs, Ds, Es = ([] for i in range(5))
for line in infile:
line = line.rstrip()
a, b, c, d, e = line.split('\t')
As += [a]
Bs += [b]
Cs += [c]
Ds += [d]
Es += [e]
Так как у меня гораздо больше, чем просто 5, я хочу сделать это с петлей, которая занимает меньше строк кода, чем писать все это вне. Что-то вроде:
As, Bs, Cs, Ds, Es = ([] for i in range(5))
dynamic_variable_list = [As, Bs, Cs, Ds, Es]
for line in infile:
line = line.rstrip()
for i in range(len(line.split('\t'))):
dynamic_variable_list[i] += line.split('\t')[i]
Что в моем случае хранит отдельные символы в списке, в то время как:
dynamic_variable_list[i] += line.split('\t')
хранит все вкладки разделителями записей в каждой из переменных dynamic_variable_list
. Мне нужно хранить все записи с разделителями табуляции в отдельных переменных, как показывает верхний пример.
спасибо, что работает! –
{book = xlrd.open_workbook ('file.xls') first_sheet = book.sheet_by_index (0) As, Bs, Cs, Ds, Es = ([] для i в диапазоне (5)) dyn_var_list = [As, Bs, Cs, Ds, Es] assert (len (first_sheet.row_values (0)) == len (dyn_var_list)) для индекса, col в enumerate (first_sheet.row_values (0)): dyn_var_list [index] .append (col)} однако теперь я получаю только первый элемент в моем dyn_var_list. Какие-нибудь предложения здесь, возможно? Я попробовал "first_sheet.col_values (0)" и "xrange (1, first_sheet.ncols):" –