ash*_*d23 0 python max min string-comparison
我刚刚从编程语言中开始使用Python,我正在编写一个从文件中读取以检索值的程序.目前我有问题的程序从文件中读取并将某些值放入元组中,但是,我现在面临的问题是从python中的元组列表返回最小值和最大值,值列表我在元组列表中有:
tuple = ('44.0', '34.0', '17.0', '6.0','15.0')
Run Code Online (Sandbox Code Playgroud)
然而,当我max打电话给max(tuple)我时6.0,我的结果而不是正确答案44.0.同样,如果我尝试使用返回最小值min(tuple).相反,我得到的是价值,15.0而不是正确的价值6.0.
拜托,您能告诉我如何解决这个问题,以便我能够返回正确的值吗?
默认情况下,字符串的比较是字典的.这意味着"9"在字典上大于"10",因为ASCII值"9"(57)大于ASCII值"1"(49),依此类推.
如果要将这些字符串值与实际数值进行比较,则必须将key参数传递给max/ min:
max(tupple, key=float)
# '44.0'
min(tupple, key=float)
# '6.0'
Run Code Online (Sandbox Code Playgroud)
当然,这要求所有元组值都是浮点数/整数的字符串表示形式.如果你有一个非数字字符串(例如'abc'),这是行不通的.
| 归档时间: |
|
| 查看次数: |
639 次 |
| 最近记录: |