python - 查找并打印列表中最小值的所有索引

标签 python list

<分区>

我有一个数字列表,我想打印所有可以找到最小值的索引。

我的尝试:

myList = [3, 2, 5, 7, 2, 4, 3, 2]

minValue = min(my_list)

my_list.count(minValue)

if mylist.count(minValue) > 1:
    for num in mylist:
        if num == minValue :
            print(my_list.index(minValue))

实际结果:

1
1
1

预期结果:

1
4
7

我做错了什么?

最佳答案

注意你的列表在任何地方都有相同的名字,我在我的例子中为你修复了这个问题。您的问题可以通过在 for 循环中使用 enumerate() 来解决。

my_list = [3, 2, 5, 7, 2, 4, 3, 2]

minValue = min(my_list)

my_list.count(minValue)

if my_list.count(minValue) > 1:
    for i, num in enumerate(my_list):
        if num == minValue :
            print(i)

您的问题是打印 my_list.index(minValue),它总是返回 minValue 的第一个实例,因此解决方案是为每个匹配的项目打印 for 循环所在的当前索引最小值。

关于python - 查找并打印列表中最小值的所有索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59864633/

相关文章:

python - 在 Pandas 中,从具有年和周的多索引生成日期时间索引

java - 如何在 Java 中加入两个列表?

python - 如何为 python 列表/集设置最大长度?

python - 使现有函数可以从类中访问

python - 如何解决 "[Errno 13] file not accessible"错误?

python - 如何干净地卸载ansible

python - python 中搜索字符串和字符串列表之间最高百分比 Levenshtein 距离的最快方法是什么?

Python 列表 'in' 语句无法正常工作

python - 广义代码中某些列的一阶差分

python - 在Python中迭代列表后,打印出余数