本文介紹的是關于Python中列表項的推導式與過濾操作的相關內容,分享出來供大家參考學習,下面來一起看看吧:
典型代碼1:
data_list = [1, 2, 3, 4, 0, -1, -2, 6, 8, -9] data_list_copy = [item for item in data_list] print(data_list) print(data_list_copy)
輸出1:
[1, 2, 3, 4, 0, -1, -2, 6, 8, -9] [1, 2, 3, 4, 0, -1, -2, 6, 8, -9]
典型代碼2:
data_list = [1, 2, 3, 4, 0, -1, -2, 6, 8, -9] data_list_copy = [item for item in data_list if item > 0] print(data_list) print(data_list_copy)
輸出2:
[1, 2, 3, 4, 0, -1, -2, 6, 8, -9] [1, 2, 3, 4, 6, 8]
應用場景
需要保持原列表不被改動,需要拷貝一份新的列表數據;只拷貝原列表中復合條件的數據項。
帶來的好處
拷貝和過濾操作集中到了一行中,減少了代碼的縮進級別,使代碼更加緊湊,更易讀
其它說明
1. 原始的數據源可以不是列表類型,也可以是元組、生成器等任何可迭代類型
2. 內置的filter函數也可以達到類似的效果
3. itertools模塊中的ifilter和ifilterfalse的方法也可以達到類似的效果
4. 如果列表數據量巨大,需要慎重使用,注意內存消耗
總結
好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。
新聞熱點
疑難解答