我正在尝试从 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))
Run Code Online (Sandbox Code Playgroud)
我的输出示例:
['86.21', '100.00', '96.30']
The maximun is: 96.30
The minimum is: 100.00
Run Code Online (Sandbox Code Playgroud)
我不确定我做错了什么。一些建议将不胜感激。
您的列表元素是字符串。您需要将它们转换为float
以避免按字典顺序进行比较(按字母顺序,一次一个字符,'100' < '2'
因为1 < 2
)
numrow = [float(x) for x in row]
print('The maximun is:', max(numrow))
print('The minimum is:', min(numrow))
Run Code Online (Sandbox Code Playgroud)
除非你真的想要字符串,在这种情况下不要创建新列表,只需传递key=float
给你的max()
函数:
max(numrow, key=float)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3243 次 |
最近记录: |