Python學(xué)習小技巧之列表項的推導(dǎo)式與過濾操作
本文介紹的是關(guān)于Python中列表項的推導(dǎo)式與過濾操作的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習,下面來一起看看吧:
典型代碼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]
應(yīng)用場景
需要保持原列表不被改動,需要拷貝一份新的列表數(shù)據(jù);只拷貝原列表中復(fù)合條件的數(shù)據(jù)項。
帶來的好處
拷貝和過濾操作集中到了一行中,減少了代碼的縮進級別,使代碼更加緊湊,更易讀
其它說明
1. 原始的數(shù)據(jù)源可以不是列表類型,也可以是元組、生成器等任何可迭代類型
2. 內(nèi)置的filter函數(shù)也可以達到類似的效果
3. itertools模塊中的ifilter和ifilterfalse的方法也可以達到類似的效果
4. 如果列表數(shù)據(jù)量巨大,需要慎重使用,注意內(nèi)存消耗
總結(jié)
好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
python操作MySQL 模擬簡單銀行轉(zhuǎn)賬操作
這篇文章主要介紹了python操作MySQL 模擬簡單銀行轉(zhuǎn)賬操作,需要的朋友可以參考下2017-09-09python詞云庫wordCloud使用方法詳解(解決中文亂碼)
這篇文章主要介紹了python詞云庫wordCloud使用方法詳解(解決中文亂碼),需要的朋友可以參考下2020-02-02Python+Tkinter制作股票數(shù)據(jù)抓取小程序
這篇文章主要為大家詳細介紹了如何實現(xiàn)一個Tkinter?GUI程序,完成無代碼股票抓?。∥闹械氖纠a講解詳細,快跟小編一起動手試一試吧2022-08-08urllib和BeautifulSoup爬取維基百科的詞條簡單實例
這篇文章主要介紹了urllib和BeautifulSoup爬取維基百科的詞條簡單實例,具有一定借鑒價值,需要的朋友可以參考下2018-01-01