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