如何在Python列表中查找元素索引?
可能重复的问题:
如何找到列表中最大值的位置?
这是一个作业问题:
定义一个函数 censor(words,nasty)
,这个函数接收一个单词列表,并把所有出现在 nasty 列表中的单词替换成“CENSORED”,然后返回这个被处理过的单词列表。
>>> censor([’it’,’is’,’raining’], [’raining’])
[’it’,’is’,’CENSORED’]
我看到的解决方案是这样的:
- 找到
nasty
中单词的索引 - 用
"CENSORED"
替换掉匹配到的单词
但是我在找索引的时候遇到了困难……
4 个回答
1
你的方法可能能行,但其实有点复杂。
在Python中,有一种非常简单的写法可以检查某个东西是否在列表里:
censor = [ 'bugger', 'nickle' ]
word = 'bugger'
if word in censor: print 'CENSORED'
用这种方法,你只需要遍历你的单词列表,检查每个单词是否在 censor
列表中。
要遍历你的单词列表,可以使用 for
循环。因为你可能需要修改当前的单词,所以可以用一个索引,像这样:
for index in len(words)):
print index, words[index]
现在你只需要把这两段代码结合起来就行了。
39
你可以通过使用 .index
方法来找到任何元素在 list
列表中的位置。
>>> l=['a','b','c']
>>> l.index('b')
1