Python 为什么使用range可以使用此函数,但使用列表名却不能';T
工作代码:Python 为什么使用range可以使用此函数,但使用列表名却不能';T,python,Python,工作代码: def censor(text, word): words_split = text.split() for a in range(len(words_split)): if words_split[a] == word: words_split[a] = "".join("*" * len(word)) return " ".join(words_split) def censor(text, word):
def censor(text, word):
words_split = text.split()
for a in range(len(words_split)):
if words_split[a] == word:
words_split[a] = "".join("*" * len(word))
return " ".join(words_split)
def censor(text, word):
words_split = text.split()
for a in words_split:
if words_split[a] == word:
words_split[a] = "".join("*" * len(word))
return " ".join(words_split)
这一个审查字符串中的单词
非工作代码:
def censor(text, word):
words_split = text.split()
for a in range(len(words_split)):
if words_split[a] == word:
words_split[a] = "".join("*" * len(word))
return " ".join(words_split)
def censor(text, word):
words_split = text.split()
for a in words_split:
if words_split[a] == word:
words_split[a] = "".join("*" * len(word))
return " ".join(words_split)
第二个给了我一个错误:
列表索引必须是整数,而不是str
如何使第二个代码与第一个类似,因为如中所述,这两种循环类型的功能不同
对于in-words\u-split
将为您提供a
inwords\u-split
中的值,因此a
已经是字符串值,words\u-split[a]
不存在
使用范围进行迭代可以得到
words\u split
中的索引,因此可以将这些索引传递给words\u split[]
以获得值。在第一个索引中,a是元素的索引,在第二个索引中,a是元素本身
l = ['a', 'b', 'c']
索引:
for i in range(len(l)):
print i
给出:
0
1
2
a
b
c
要素:
for element in l:
print element
给出:
0
1
2
a
b
c
第二个方法中的包含列表项,而第一个方法中的包含项索引(整数)。所以只要在第二个中使用
a==word:
。阅读文档!!!!!!!!!!!!!!!!!!!!!!!!!!!!为什么会有这么多的仇恨?因为你缺乏起码的理解,在转向仇恨之前,你应该阅读文档或浏览一些谷歌链接。