Python:替换

时间:2016-01-21 21:50:59

标签: python list

我目前正在尝试在线完成计算机科学界,但我被part 14: Methods困住了。这是问题所在。

  

使用index和其他列表方法,编写一个函数replace(list, X, Y),用X替换listY的所有出现位置。例如,如果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)

1 个答案:

答案 0 :(得分:1)

我会提供一些提示,因为这是一项练习。

1)您已经找到了您应该将一个元素替换为另一个元素的索引。还有什么方法可以替换给定索引中的值?检查all the methods of list

2)list comprehension也允许优雅的解决方案:

[...???... for value in list]

您需要弄清楚表达式应该是什么,以及如何使理解修改您的原始列表,而不仅仅是创建一个新的。