PYTHON 列表解析表示式精講

2021-10-06 13:42:59 字數 1141 閱讀 5702

列表解析表示式不僅可以簡化**,其也是一種所謂的 「向量化」 操作。在一定程度上,增加了**的可讀性和速度。因此,值得學習!!!

列表解析表示式以中括號 和 if (else) / for 表示式組成,結果產生乙個 列表物件 。如果實際操作就很容易理解了。如下:

lst =

[i for i in

range(10

)]lstout[10]

:[0,

1,2,

3,4,

5,6,

7,8,

9]

第一種,由 for 表示式和 if 表示式組成。如下示例:

lst =

[i for i in

range(10

)if i %2==

0]; lst

out[11]

:[0,

2,4,

6,8]

lst =

[i for i in

range(10

)if i %2==

0if i %4==

0]; lst

out[12]

:[0,

4,8]

從上面的示例中,我們可以看出, if 表示式可以一直新增下去。因此,我們可以使用多種 條件 來判斷和篩選資料。

第二種,由 for 表示式和 if…else… 表示式組成。如下示例:

lst =

[ i if i %4==

0else

0for i in

range(10

)if i %2==

0]; lst

out[13]

:[0,

0,4,

0,8]

lst =

[ i if i %4==

0else

0for i in

range(10

)if i %2==

0if i %4==

0]; lst

out[3]

:[0,

4,8]

此時,大家應該可以注意到了,使用 if…else 表示式時,是放在 for 表示式的前面,起到 賦值 的作用。

列表解析與生成器表示式

列表解析與生成器表示式 列表推導式 egg list for i in range 100 egg s i print egg list l egg s i for i in range 100 if i 50 print l 在乙個列表中 將for的迴圈寫在列表的右側。for i in rang ...

Python之列表解析和生成器表示式

列表解析 列表推導式 是非常有用,簡單靈活的工具,可以動態的建立列表。expr for iter var in iterable iterable是乙個可迭代物件 expr是元素的處理結果 列表解析就是在一行 中寫了乙個for迴圈 結果返回的是乙個列表 例1 我要建立乙個 0,1,4,9,16,25...

python 迭代器 列表解析 三元表示式

一.迭代器 1.迭代器協議和迭代器物件 1 迭代器協議是指 物件必須提供乙個next方法,執行該方法要麼返回迭代中的下一項,要麼就引起乙個stoplteration異常,以終止迭代 2 可迭代物件 實現了迭代器協議的物件 如何實現 物件內部定義乙個 iter 方法 3 協議 是一種約束,可迭代物件實...