Python 在列表中查找最大值及其索引-不断获取错误的索引
我不知道为什么我得到了错误的输出 我的代码:Python 在列表中查找最大值及其索引-不断获取错误的索引,python,list,Python,List,我不知道为什么我得到了错误的输出 我的代码: costList = ['$3.38', '$3.25', '$6.00', '$3.50', '$1.50', '$558.45', '$0.50', '$9.50', '$0.48', '$0.85', '$0.65', '$0.26', '$1.65', '$3.50'] max_value_index = costList.index(max(costList)) print(max_value_index) 输出:
costList = ['$3.38', '$3.25', '$6.00', '$3.50', '$1.50', '$558.45',
'$0.50', '$9.50', '$0.48', '$0.85', '$0.65', '$0.26', '$1.65', '$3.50']
max_value_index = costList.index(max(costList))
print(max_value_index)
输出:
7
所需\正确输出:
5
这里有一种方法,使用带有
键的内置函数来过滤$
,并在订购前转换为浮动
:
mx = max(costList, key=lambda x: float(x.lstrip('$')))
# '$558.45'
至于索引:
costList.index(mx)
# 5
这里有一种方法,使用带有键的内置函数来过滤$
,并在订购前转换为浮动
:
mx = max(costList, key=lambda x: float(x.lstrip('$')))
# '$558.45'
至于索引:
costList.index(mx)
# 5
列表中的值是字符串。您需要将它们转换为float
cost_list=[float(entry[1:]) for entry in cost_list]
这将删除美元符号并使所有内容均为数字,然后max函数应按预期工作列表中的值为字符串。您需要将它们转换为float
cost_list=[float(entry[1:]) for entry in cost_list]
这将删除美元符号,使所有内容都成为数字,然后max函数应按预期工作问题是每个元素都是字符串。将第二个元素(切片1:
)向前,并将其转换为如下所示的浮点:
float_list=[float(x[1:]) for x in cost_list]
现在,max(float\u list)
将按预期工作
您可以使用index()
函数查找其索引:
index(max(float_list))
问题是每个元素都是一个字符串。将第二个元素(切片1:
)向前,并将其转换为如下所示的浮点:
float_list=[float(x[1:]) for x in cost_list]
现在,max(float\u list)
将按预期工作
您可以使用index()
函数查找其索引:
index(max(float_list))
Max当前将您的值排序为字符串
,因此为了找到最高值,我们需要将它们转换为浮点
。以下是您如何使用
Max当前将您的值排序为字符串
,因此为了找到最高值,我们需要将它们转换为浮点
。以下是您如何使用
我忘了将字符串转换为float-TY!我忘了将字符串转换为float-TY!我忘了将字符串转换为float-TY!我忘了将字符串转换为float-TY!