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!