2017-07-12 122 views
0

我有一個txt的文件編號本欄認爲我要追加到一個列表:多個號碼添加到列表中

18.0 
13.0 
10.0 
12.0 
8.0 

我對將所有這些數字爲代碼列表

last_number_lis = [] 
    for numbers_to_put_in in (path/to/txt): 
     last_number_lis.append(float(last_number)) 
    print last_number_lis 

我想要列表看起來像

[18.0,13.0,10.0,12.0,8.0] 

而是,當運行代碼時,它顯示

[18.0] 
[13.0] 
[10.0] 
[12.0] 
[8.0] 

有沒有什麼辦法可以把所有的號碼放在一行中。稍後,我想將所有數字都加上。謝謝你的幫助!!

+1

您可以張貼整個代碼? – Dadep

+1

請出示完整的代碼。 – victor

+0

@Dadep我發佈的代碼的一部分,因爲總的腳本有200行。 –

回答

0

可以append列表就像:

>>> list=[] 
>>> list.append(18.0) 
>>> list.append(13.0) 
>>> list.append(10.0) 
>>> list 
[18.0, 13.0, 10.0] 

但取決於您的號碼是從哪裏來的?

例如與輸入端子:

>>> list=[] 
>>> t=input("type a number to append the list : ") 
type a number to append the list : 12.45 
>>> list.append(float(t)) 
>>> t=input("type a number to append the list : ") 
type a number to append the list : 15.098 
>>> list.append(float(t)) 
>>> list 
[12.45, 15.098] 

或閱讀從文件:

>>> list=[] 
>>> with open('test.txt', 'r') as infile: 
...  for i in infile: 
...    list.append(float(i)) 
... 
>>> list 
[13.189, 18.8, 15.156, 11.0] 
0

如果是從.txt文件,你必須做的readline()方法,

你可以通過號碼列表for循環和循環做了(你永遠不知道你會多少個號碼給出還不如讓循環處理它,

with open(file_name) as f: 
    elemts = f.readlines() 
    elemts = [x.strip() for x in content] 

,然後你會想通過文件循環,然後在列表

last_number_list = [] 
for last_number in elements: 
    last_number_list.append(float(last_number)) 
print last_number_list 
0

一個稍微不那麼緊湊,但容易閱讀的方法是添加元素

num_list = [] 
f = open('file.txt', 'r') # open in read mode 'r' 
lines = f.readlines() # read all lines in file 
f.close() # safe to close file now 
for line in lines: 
    num_list.append(float(line.strip())) 
print num_list