我目前正在尝试在线完成计算机科学圈,但我被困在第 14 部分:方法上。这是个问题。
使用
index
和其他列表方法,编写一个函数replace(list, X, Y)
该函数将list
中出现的所有X
替换为Y
。例如,如果L = [3, 1, 4, 1, 5, 9]
则replace(L, 1, 7)
会将L
的内容更改为[3, 7, 4, 7, 5, 9]
。为了使此练习成为挑战,您不得使用[]
。注意:您不需要使用退货。
如果允许我们使用方括号,我可能能够做到这一点。这是我到目前为止所拥有的。
def replace(L, X, Y):
while X in L:
var = L.index(X)
var = Y
return(L)
我会给出一些提示,因为这是一个练习。
1)你已经找到了你应该用另一个元素替换一个元素的索引。还有什么其他方法可以替换给定索引中的值?检查list
的所有方法。
2)列表理解也允许一个优雅的解决方案:
[...???... for value in list]
你需要弄清楚表达式应该是什么,以及如何使理解修改你的原始列表,而不仅仅是创建一个新列表。