我试图在列表中使用log10函数,但是,即使我将列表转换为浮点数,每次遇到“都需要浮点数错误”时,也是如此。我不明白我在做什么错。到目前为止,这是我的代码:
#!/usr/bin/python
import math
import operator
fileq= open("test.ppx1","r")
filer= open("test.prob1","r")
words = list(fileq.read().split())
words2 = list(filer.read().split())
words[:]=[x[:8] for x in words]
words2[:]=[x[:8] for x in words2]
id1= words[-1]
id2=words2[-1]
words.remove(id1)
words2.remove(id2)
map(float,words)
map(float,words2)
[math.log(y,10) for y in words]
[math.log(y,10) for y in words2]
这是我不断得到的错误:
TypeError:需要浮点数
最佳答案
map(float, words)
map(float, words2)
map
不在适当的位置。它返回一个新列表(在Python 2中。在Python 3中,它返回一个map object
)。在给定可迭代项上执行该函数的结果。将这些行更改为:
words = map(float, words)
words2 = map(float, words2)
关于python - python math模块,列表中的log10,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37743921/