在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ [Python] 某函數(shù)處理列表,不修改參數(shù)時的更優(yōu)雅的方式?

[Python] 某函數(shù)處理列表,不修改參數(shù)時的更優(yōu)雅的方式?

我寫了一個函數(shù)用于處理列表(比如url列表),每處理完一個,就修改一下列表
很多文章教導(dǎo)我們函數(shù)不應(yīng)該修改參數(shù),我想到一個丑陋的實現(xiàn)方法:

  1. 老列表作為這個函數(shù)的參數(shù)
  2. deepcopy老列表到新列表
  3. 基于新列表進行操作(pop/append)
  4. 函數(shù)完成/出錯后return新列表
  5. 把這個最新列表賦值給老列表

感覺這個做很不優(yōu)雅,求教大家是否有更好的辦法?
謝謝

回答
編輯回答
脾氣硬

更優(yōu)雅的方案就是,弄清楚,這個函數(shù)的結(jié)果究竟應(yīng)該是返回什么東西以及之后被如何使用?

2017年6月4日 08:54
編輯回答
下墜

用global variable?

2018年4月22日 14:56
編輯回答
北城荒

通常情況下有這種需求可能是因為別的線程可能也在使用該列表。所以要么加鎖,要么放到Queue中,queue是線程安全的。

2018年8月22日 12:56
編輯回答
薄荷綠
def foo(urls):
    for url in urls:
        yield 'http://www.xxx.com' + url

處理完一個就返回一個

2017年9月13日 13:15