我想在列表中替換一個或多個項目。我的直覺反應是這樣的:替換列表中的一個或多個項目的「Pythonic」方法
mylist = [...]
other_object = dict(spam='eggs', a_list=mylist)
def replacer(item):
... contents not shown, returns a replacement ...
mylist[:] = [replacer(item) for item in mylist]
它需要原地的,所以,如果我有其他的對象(例如在上面的例子other_object
)與參考MYLIST,那麼那些其它的目的看到更新的值。 (澄清:我不希望要求到other_object
任何的變化,因爲它是從我維護代碼的其他地方進行管理。)
這是最慣用的方式做到這一點在Python?如果不是,還有更好的方法嗎?
慣用的方法是不做到位,而是返回一個新的對象,你可以傳遞給關心它的事物 – Daenyth
不,這是*功能*的方式,而不是慣用的,我很想做,但我不能在這種情況下。 –
mylist = [mylist中項目的替換項(item)] – Muposat