我有一个单词列表(words_list),w用于迭代它。如果w等于word,这是用户输入的字符串,则w用星号替换。如果我在for循环中单独打印单词,带有匹配单词asterisked-out的字符串会出现,但如果我打印原始列表本身,则无论如何都没有变化。我不明白的是什么?
for w in words_list:
if(w == word):
w = "*" * len(word)
print w,
print words_list
答案 0 :(得分:1)
for i, w in enumerate(words_list):
if w == word:
words_list[i] = '*' * len(word)
这样,您可以遍历列表并获取索引以及当前列表条目。然后,您可以使用w
方便地访问当前列表,并通过访问其索引来替换它。
答案 1 :(得分:0)
您需要更改列表中的元素
for i in range(len(words_list)):
if(words_list[i] == word):
words_list[i] = "*" * len(word)
print words_list[i]
print words_list