Python 中查找列表中最大值的所有索引

Python中要在列表中查找最大值的所有索引:

  1. 使用 max() 函数获取列表中的最大值。
  2. 使用列表理解通过 enumerate() 遍历列表。
  3. 检查每个项目是否等于最大值。
  4. 返回匹配元素的索引。
my_list = [2, 4, 1, 3, 4, 4]

max_value = max(my_list)

max_indices = [
    index for index, item in enumerate(my_list)
    if item == max_value
]

print(max_indices)  # 👉️ [1, 4, 5]

如果我们只需要列表中第一次出现最大值的索引,请使用 list.index() 方法。

my_list = [2, 4, 1, 3, 4, 4]

index = my_list.index(max(my_list))
print(index) # 👉️ 1

我们使用 max() 函数来获取列表中的最大值。

max() 函数返回可迭代对象中的最大项或两个或多个参数中最大的一个。

my_list = [15, 45, 30]

result = max(my_list)

print(result)  # 👉️ 45

我们使用 enumerate() 函数来访问当前迭代的索引。

enumerate() 函数接受一个可迭代对象并返回一个包含元组的枚举对象,其中第一个元素是索引,第二个元素是相应的项目。

my_list = ['fql', 'zadmei', 'com']

for index, item in enumerate(my_list):
    print(index, item)  # 👉️ 0 fql, 1 zadmei, 2 com

在每次迭代中,我们检查当前项目是否等于最大值并返回结果。

my_list = [2, 4, 1, 3, 4, 4]

max_value = max(my_list)

max_indices = [
    index for index, item in enumerate(my_list)
    if item == max_value
]

print(max_indices)  # 👉️ [1, 4, 5]

新列表仅包含原始列表中最大值的索引。

或者,我们可以使用 for 循环。


使用 for 循环查找列表中最大值的所有索引

Python中 要在列表中查找最大值的所有索引:

  1. 使用 max() 函数获取列表中的最大值。
  2. 使用 for 循环通过 enumerate() 遍历列表。
  3. 检查每个项目是否等于最大值。
  4. 将匹配项的索引附加到新列表。
my_list = [2, 4, 1, 3, 4, 4]

max_value = max(my_list)

max_indices = []

for index, item in enumerate(my_list):
    if item == max_value:
        max_indices.append(index)

print(max_indices)  # 👉️ [1, 4, 5]

我们使用 for 循环来迭代枚举对象。

在每次迭代中,我们检查当前项目是否等于最大值。

如果满足条件,我们使用 list.append() 方法将相应的索引附加到新列表。list.append() 方法将一个项目添加到列表的末尾。

my_list = ['fql', 'zadmei']

my_list.append('com')

print(my_list)  # 👉️ ['fql', 'zadmei', 'com']

选择哪种方法是个人喜好的问题。 我会使用列表推导,因为我发现它们非常直接且易于阅读。