【问题标题】:Accessing a list by index in a for loop在 for 循环中按索引访问列表
【发布时间】:2020-07-30 21:32:49
【问题描述】:

我正在尝试访问 for 循环中列表中的特定元素。但是,当出现重复项时,会为第一个实例给出索引。

例如:

my_list = [1,2,2,3,2,1]
for i in my_list:
     return my_list.index(i)

当 for 循环到达最后一个元素时,它将返回 0 而不是我想要的输出 5。 如何获取循环使用的特定“i”的索引?

【问题讨论】:

标签: python list for-loop


【解决方案1】:

假设你想找到:

index_of = 2

现在让我们获取该元素的索引:

 [i for i in range(len([1,2,2,3,2,1])) if [1,2,2,3,2,1][i] ==index_of]

给出该元素的所有索引:

[1, 2, 4]

【讨论】:

  • 为什么? list.index() 更好、更快、更紧凑。
  • list.index() 返回第一个索引
  • @OlvinR​​oght 我没听懂你
【解决方案2】:

使用enumerate():

for index, value in enumerate(my_list):
    print('Value {} at position {}'.format(value, index))

【讨论】:

    猜你喜欢
    • 2021-09-08
    • 2021-04-07
    • 2017-09-07
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    相关资源
    最近更新 更多