如何在Python列表中找到元素的索引?

Gus*_*sto 6 python indexing list

可能重复:
如何查找列表的最大位置?

作业中的一个问题:定义一个censor(words,nasty)单词列表的函数,用CENSORED替换所有出现在讨厌中的单词,并返回被删除的单词列表.

>>> censor([’it’,’is’,’raining’], [’raining’])
[’it’,’is’,’CENSORED’]
Run Code Online (Sandbox Code Playgroud)

我看到这样的解决方案:

  1. 找到索引 nasty
  2. 替换与该索引匹配的单词 "CENSORED"

但我被困在找到索引..

MAK*_*MAK 29

您可以list使用该.index方法找到a的任何元素的索引.

>>> l=['a','b','c']
>>> l.index('b')
1
Run Code Online (Sandbox Code Playgroud)

  • 除非列表中有两个'b'的情况,否则你将只获得第一个.这可能是这个问题的一个问题. (3认同)
  • 不敢相信我必须一直向下滚动才能找到这个.... (2认同)

z4y*_*4ts 1

实际上你不必在这里使用索引。只需迭代wordslist 并检查该单词是否在 中列出nasty。如果它附加'CENSORED'到结果列表,否则附加单词本身。

或者您可以涉及列表理解条件表达式以获得更优雅的版本:

  • 为别人解决作业问题被认为是极不礼貌的行为。它否定了学习效果,对其他学生不公平,而且惹恼了导师。 (2认同)