2016-06-12 110 views
-2

我是Python的初學者。我的問題是,如標題所述,我將如何編寫一個函數來返回文件中的平均行長度? (不太確定如何將文件合併到函數中)(任何幫助都將有所幫助!)使用Python在文件中查找每行的平均長度

+1

。@ spookyblack你有什麼試過的?你的數據是什麼樣的? – Merlin

+0

@merlin我覺得我所擁有的是無關緊要的,因爲我不確定如何計算每條線的長度,對於任何給定數量的線 – spookyblack

+0

@merlin我如何找到線的數量並將其除以長度? – spookyblack

回答

-2

非常簡單,總和線的長度,然後除以行數。

with open("testfile.txt", "r") as f: 
    lines = f.readlines() 
    print(sum(len(line) for line in lines)/len(lines)) 
+0

不是OP引用行的事實暗示它是文字? –

+0

謝謝@Keatinge!正是我在找什麼! – spookyblack

+1

。@凱達奇,他學到了什麼? – Merlin

0

如果你有喜歡的test.txt:

line one text 
line two text longer 
line three text even longer 

和腳本test.py:

from __future__ import division 

def average(lines): 
    length = 0 
    for l in lines: 
     length = length+len(l) 

    return int(length/len(lines)) 


with open('./test.txt') as f: 
    my_lines = f.readlines() 
    avg = average(my_lines) 
    print avg 

然後,當你運行

python test.py 

你應該得到21