Python中的Max函数返回错误结果
我正在尝试从CSV文件中的一组数字中找到最大值和最小值。我的代码在某些行中始终为Max函数返回错误的数字。这是我的代码:
with open('Cortex_vs_Liver_trial.csv', newline='') as infile: reader = csv.reader(infile)
for row in reader:
print(row)
print('The maximun is:', max(row))
print('The minimum is:', min(row))
我的输出示例:
['86.21', '100.00', '96.30']The maximun is: 96.30
The minimum is: 100.00
我不确定我做错了什么。一些建议,将不胜感激。
回答:
您的列表元素是字符串。您需要对其进行转换,float
以避免按字典顺序进行比较(按字母顺序,一次只比较一个字符,这'100' < '2'
是因为1 <
2)
numrow = [float(x) for x in row]print('The maximun is:', max(numrow))
print('The minimum is:', min(numrow))
除非您实际上想要字符串,否则不要创建新列表,而只需传递key=float
给您的max()
函数即可:
max(numrow, key=float)
以上是 Python中的Max函数返回错误结果 的全部内容, 来源链接: utcz.com/qa/407461.html