[英]python create list within while loop
我定義了一個函數,用於將文件中的行讀取到列表中。 然后,我想在while循環內調用此函數。 該列表是在第一個循環上正確創建的,但是隨后的循環將創建一個空列表。
如何獲得我的代碼以每次重新生成列表? (為澄清起見,這不是最終功能,但我將代碼中的問題與列表的生成隔離了)。
def get_random_gene_list(input):
disease_genes = []
for line in input:
disease_genes.append(line.strip())
return disease_genes
x=0
while x < 5:
unpack_gene_list = get_random_gene_list(args.i)
print unpack_gene_list
x = x + 1
假定args.i
是文件對象,則在第一個循環中讀取文件,該循環將文件指針放在文件末尾。 您是否需要在每個循環中重新讀取文件? 如果沒有,則應在while
循環外調用一次該函數並保存結果列表。 實際上,您甚至不需要此功能。 另外,在這種情況下,您應該使用for
循環。
unpack_gene_list = list(args.i)
x = 0
for x in range(5):
print unpack_gene_list
除非我誤解了您的問題,否則這對我來說很好。 問題可能出在您的輸入上。
k = ['1','1','a','aa']
def get_random_gene_list(input):
disease_genes = []
for line in input:
disease_genes.append(line.strip())
return disease_genes
x=0
while x < 5:
unpack_gene_list = get_random_gene_list(k)
print unpack_gene_list
x = x + 1
輸出:
['1', '1', 'a', 'aa']
['1', '1', 'a', 'aa']
['1', '1', 'a', 'aa']
['1', '1', 'a', 'aa']
['1', '1', 'a', 'aa']
Process finished with exit code 0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.