Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么使用range可以使用此函数,但使用列表名却不能';T_Python - Fatal编程技术网

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
in
words\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:
。阅读文档!!!!!!!!!!!!!!!!!!!!!!!!!!!!为什么会有这么多的仇恨?因为你缺乏起码的理解,在转向仇恨之前,你应该阅读文档或浏览一些谷歌链接。