首頁  >  文章  >  後端開發  >  Python學習小技巧之關於列表項目的推導式與過濾操作的實例

Python學習小技巧之關於列表項目的推導式與過濾操作的實例

黄舟
黄舟原創
2017-05-21 13:51:511393瀏覽

這篇文章主要為大家介紹了Python學習小技巧之列表項目的推導式與過濾操作的相關資料,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看把。

本文介紹的是關於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. 如果列表資料量龐大,需要慎重使用,注意記憶體消耗

##總結 #

以上是Python學習小技巧之關於列表項目的推導式與過濾操作的實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn