2015-04-06 23 views
0

我的代碼的第一步是指定要輸入的行數。然後我輸入以下形式的行:如何在Python中引用元素?

John 430.09 300.90 2070.00 

如果我有例如3個輸入,我怎樣才能引用每個輸入行中的最後一個值?我必須總結這些價值。

回答

0

你可以嘗試這樣的:

with open("your_document") as f: 
    my_list = [] # this will save the last value of every line 
    for x in f: 
     my_list.append(float(x.strip().split()[-1])) 
    print sum(my_list) 
0

使用一些簡單的Python結構:

split將會把字符串轉換成一個列表,拆分給定的分隔符(或空格,如果不這樣做提供一個):

>>> data = 'John 430.09 300.90 2070.00' 
>>> data.split() 
['John', '430.09', '300.90', '2070.00'] 

索引列表,讓你的各個部分,並使用負指數從尾部開始計數,而不是:

>>> data.split()[-1] 
'2070.00' 

然後你就可以將其轉換爲float,因此你可以把它們加起來:

>>> float(data.split()[-1]) 
2070.0 

可以循環輸入,總結的結果。將其組合在一起:

>>> data = '''John 430.09 300.90 2070.00 
... Ben 530.10 200.50 3020.50''' 
>>> result = sum(float(x.split()[-1]) for x in data.splitlines()) 
>>> result 
5090.5 
+0

的感謝! :)所以,我介紹了三個單獨的行在同一個窗體中,現在我怎樣才能將它們合併到一個對象中?在結束你的帖子對象「數據=‘’‘約翰430.09 300.90 2070.00 ...奔530.10 200.50 3020.50’‘’ – 2015-04-06 08:48:12

+0

我爲什麼能得到這個:數據=‘’'約翰430.09 300.90 2070.00 ...奔530.10 200.50 3020.50「」「爲什麼有三種 - >>」?。? – 2015-04-06 10:01:37

+0

我已經使用了三個引號,因爲這讓我有在多行字符串分割哪裏您的數據來自您可以替換'data.splitlines( )''在我的代碼中,您可以一次遍歷每一行。 – Ben 2015-04-06 10:13:52