当前位置: 首页 > 面试题库 >

Python中的Max函数返回错误结果

麻宜春
2023-03-14
问题内容

我正在尝试从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)


 类似资料:
  • 有没有可能创建一个函数,它将lambda函数作为参数(每个lambda函数使用参数),然后返回一个具有单个参数的新函数,并返回所有lambda函数的乘积? 以下是我的非工作示例: 所以本质上,你有一个函数,它需要4个lambda函数,每个函数使用参数。例如,的参数可以类似于。 然后返回一个名为的新函数,该函数的输出是所有lambda函数的乘积,并且有一个参数,该参数传递到的每个lambda函数的参

  • 问题内容: 当尝试使用str_to_date()将我的Estimates表中的字符串日期值的列CreatedDate转换为mySQL日期格式时,我一直收到错误消息。我的数据列包含m/ d / yy格式的日期(例如:1/26/16或3/3/16)。 我跑了这个查询: mySQL返回此错误消息: 我的查询出了什么问题? 问题答案: 清理数据的通常策略如下: 然后,当您确信一切都正确转换后: 适当字段的

  • 我正在用Python作为后端编写一个应用程序,当我试图返回一个函数的变量时,我得到以下错误 这是我使用的代码 有人知道这个问题的答案吗?

  • 我写剧本已经有一段时间了。我一开始就不好... 我正在编写一个测试oracle DB连接的脚本。 我希望我的回音值为0,但不知怎么的,我的状态在回音中显示为1。 我做错了什么? 编辑2: 我的原始代码是: 我的$tnsName包含正确的值,grep计数将为1,但我的函数返回0。

  • 问题内容: 我试图在postgres函数内返回查询结果。我尝试了一下,并完美地工作了: 问题是我需要一些东西来返回以下结果: 我需要什么回报,或者应该改变什么才能实现这一目标? 问题答案: 这可以通过一个简单的SQL函数来完成: 可以在手册中找到更多详细信息和示例:http : //www.postgresql.org/docs/current/static/xfunc-sql.html#XFUN