[英]Assigning variables in loop 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
每個變量中。 我需要的是將所有制表符分隔的條目存儲在單獨的變量中,如頂部示例所示。
dynamic_variable_list[i] += line.split('\t')[i]
可以改寫為
As += a
而不是
As += [a]
像以前一樣用括號括起來,或使用append
。 或更確切地說,拆分列表,然后使其更加清晰。
dynamic_variable_list = [As, Bs, Cs, Ds, Es]
for line in infile:
columns = line.rstrip().split('\t')
assert(len(columns)==len(dynamic_variable_list))
for index, col in enumerate(columns):
dynamic_variable_list[index].append(col)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.