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

回到顶部