Python學習小技巧之列表項的推導式與過濾操作

2022-10-04 21:12:25 字數 915 閱讀 6505

典型**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]

www.cppcns.comdata_list_copy = [item for item in datazsisxos_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和ifilte***lse的方法也可以達到類似的效果

4.程式設計客棧 如果列表資料量巨大,需要慎重使用,注意記憶體消耗

總結本文標題: python學習小技巧之列表項的推導式與過濾操作

本文位址:

FreeRTOS之列表與列表項

uxnumberofitems 記錄列表項的數量 pxindex 記錄當前列表項的索引號 xlistend 表示列表的結束 xitemvalue 列表項的值 pxnext 指向下乙個列表項 pxprevious 指向上乙個列表項 pvowner 記錄當前列表歸 誰 所有 pvcontainer 記錄...

Python學習之列表

python學習之列表 之前一直對python中建立陣列型別比較矇圈,今天仔細整理加實踐了一下,代如下 建立二維列表 n int input 建立二維列表是不是只能建立列元素一樣的 將列表中的位置都賦值 list 0 2 n 1 for i in range n print list 建立空列表 l...

Python學習之列表

1.list型別 用括號 表示,不同的元素之間可以逗號隔開。list在被初始化後可以被再次修改。注 如果開發者定義了一組值,並且在之後需要不斷對其進行增 刪 改等操作,則應該使用list型別。2.內建函式包括 通用函式 不僅適用數值型別的變數,還適用其他型別的變數 特定函式 只適用數值型別的變數 注...