一般情況下,直接用in list就可以
但是昨天在工作的時候,發現當list過大的時候特別耗時間
例子:將dataframe中id在黑名單中的id都設置爲0
df['UserID'] = df['UserID'].apply(lambda x: 0 if x in black_people else x)
我做工作的時候黑名單有2w+,所以運行的時候差不多要1個小時,這樣顯然是不行的
後面突然想到
black_people = set(black_people)
不僅可以提高速度還可以刪除同類項
並且修改過後的執行速度只要1-2秒
後面百度的時候發現set還針對是否存在這個問題進行過優化,所以
當判斷元素是否在列表中的時候,先將列表轉換成set!!!!