[英]Why can't I convert the list that I fetched with readlines(), to floats?
我已經通過IDE打開了一個新文件,並通過readlines將其轉換為列表。 為什么? 因為我想將它們打印在彼此下面。 當我使用read()
,它只打印一項,而我需要打印整個列表。
實際文件:
['Some name__________1.5 6.5 6.5\n', 'Another name________6.3 1.2 1.5\n']
現在,我設法獲取了列表的最后一部分,如下所示:
1.5 3.5 4.5
2.5 3.5 4.5
5.5 3.5 4.5
我現在想做的是計算這些數字的平均值,但是:Python根本不將它們識別為數字(整數,浮點數)。
當我使用type(TheVariableThatContainsMyList)
,它不顯示其類型。 因此,我認為它們不是整數,字符串或浮點數。
我想我需要做的是將此列表中的項目轉換為浮點數,因為它們應該是浮點數。 但是要這樣做,我需要知道我做錯了什么以及如何解決。
這是我的代碼:
def zopenFile():
fileFolder = open('TEXTFILE', 'r')
readFile = fileFolder.readlines()
for line in readFile:
line = line.split("_")
grades = line[-1]
print grades
zopenFile()
我嘗試過grades = map(float,line[-1])
但是在那種情況下,控制台會說: could not convert string to float: .
奇怪的是,如果我使用type(grades)
,就不會說它在控制台中具有字符串類型。 我現在很困惑...是字符串嗎? 它已經是浮子了嗎? 如果是這樣,為什么我不能將其映射為一個浮動對象?
有人可以指出我正確的方向嗎?
而且我知道我可以使用read()
,但我不想這么做。 有人可以告訴我如何使用readlines()
嗎?
您的map
正在處理字符串的每個字符 ,因為迭代字符串時會得到單個字符。 您想使用另一個split
將每個數字分成單獨的字符串。
grades = map(float, line[-1].split())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.