我刚开始使用Python,因为我很长时间没有接触编程语言,我正在编写一个从文件中读取值的程序。目前,我有问题的程序从文件中读取并将某些值放入元组中,但是,我现在面临的问题是从python中的元组列表中返回最小值和最大值,元组列表中的值列表是:
tuple = ('44.0', '34.0', '17.0', '6.0','15.0')
然而,当我使用max
调用max(tuple)
时,我得到的结果是{min(tuple)
返回最小值。相反,我得到了15.0
的值,而不是{
请,您能告诉我如何解决这个问题,以便返回正确的值吗?在
tuple的元素是字符串,可以给max和min赋予key函数:
您得到的最大值是“6.0”,因为您实际比较的是字符串,而不是整数/浮点。在
字符串比较是按字典顺序进行的,因此最大值为“6.0”。在
您可以传递一个
key
参数,以便比较是算术的,而不是字典式的,如下所示:默认情况下,对字符串的比较是lexicographical。这意味着“9”在字典上大于“10”,因为ASCII值“9”(57)大于ASCII值“1”(49),依此类推。在
如果要用实际的数值比较这些字符串值,则必须将} /^{} :
key
参数传递给^{当然,这要求所有元组值都是float/int的字符串表示。如果你有一个非数字字符串('abc',例如),这是行不通的。在
相关问题 更多 >
编程相关推荐