【问题标题】:When I add more than one of the same letter like 'e', they both have the same index [duplicate]当我添加多个像“e”这样的相同字母时,它们都具有相同的索引[重复]
【发布时间】:2022-03-08 09:53:33
【问题描述】:
list = []
word = 'hello'
for i in word:
    list.append(i)
for i in list:
    print(list.index(i))

输出:

0 1 2 2 4

我不知道如何使第二个“l”的索引为 3 而不是 2。rindex() 不适用于我正在制作的代码

【问题讨论】:

  • 我不知道如何使用 stackoverflow,我不知道如何让我的代码看起来像实际代码,所以我不好
  • index() 返回具有该值的第一个项的位置。
  • 欢迎来到 Stack Overflow。请阅读How to Ask 并确保在此处发帖时提出问题。如果您只是想在循环迭代时获取元素的索引,请参阅链接的副本。如果问题是“为什么index/rindex 会这样工作”,那么您应该通过阅读文档 来回答这个问题。但更重要的是:.index 不可能以不同于“第一个 'l'”的方式告诉您“第二个 'l'”的索引,因为它无法知道传入的是哪个索引 - 所有它看到的是'l'。拥有清晰的心智模型很重要。
  • 您应该确保您了解什么是以及变量,并确保您了解函数和方法的工作原理,以便您能够正确地推理行为。最后:关于“我不知道如何让我的代码看起来像实际代码,所以我很糟糕” - 这是你的责任在发布之前学习这些东西 - 在 any网站,而不仅仅是 Stack Overflow。在我们的例子中,相关指南是here

标签: python list python-2.7


【解决方案1】:

由于您只打印(根据定义)为0 1 2 3 4 的列表索引,您可以使用简单的range() 循环:

for i in range(len(mylist)):
    print(i)

【讨论】:

    【解决方案2】:

    index() 方法返回指定值第一次出现时的位置。

    要拥有你可以这样做的所有元素的索引

    _list = []
    word = 'hello'
    for i in word:
        _list.append(i)
    for i in range(len(_list)):
        print(_list[i], _list.index(_list[i], i))
    

    【讨论】:

      猜你喜欢
      • 2012-12-27
      • 2017-08-09
      • 2017-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-25
      • 1970-01-01
      • 2017-09-09
      相关资源
      最近更新 更多