如何使用一个列表上最小值的索引来查找字符串在另一个列表上的位置

2024-10-02 02:30:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个函数,使用一个列表上的最小值的位置来引用另一个列表上的字符串。你知道吗

我有两个名单,一个是州名,另一个是浮点数。我使用min方法来获得浮点列表的最小值。问题是,如何使用索引标记该值的位置,然后使用它返回在另一个列表中保持相同位置的状态?你知道吗

这是我当前正在使用的代码,但它不会在返回值之前遍历列表,这在列表中太快了。你知道吗

def stateheart_min():
    for item in heartdis_flt:
        heartcount=0
        heartcount+=1
        min_index=0
        if item == min(heartdis_flt):
            min_index=heartcount
            return states_fin[min_index:min_index+1]

Tags: 方法函数字符串标记列表index状态min
3条回答

这本书读起来有点简练,但这里有另一种方法。可以使用minvalues中查找最小值。然后可以使用index来查找列表中出现最小值的索引。然后可以使用返回的索引来索引states中的正确元素。你知道吗

states = ['NY', 'PA', 'CA', 'MI']
values = [15.0, 17.5, 3.5, 25.4]

>>> states[values.index(min(values))]
'CA'

试试这个:

index = min(zip(values, range(len(values))))[1]

这首先构建一个成对的列表,每个成对的第一项是一个值,第二项是它的索引。因此,当你找到最小值时,第一项仍然具有主要影响(只有当值相等时才会考虑索引)。最后使用[1]获取索引。你知道吗

不完全确定你在问什么,但字典可能是更好的选择。在循环中设置heartcount=0也会在每次迭代中将变量重置回0。检查循环中的变量。你知道吗

相关问题 更多 >

    热门问题