1.使用filter和lambda函式
filter(fun, seq)函式對seq里的每個元素執行fun(),并回傳值為true的元素放在一個iterator里
例如在一個串列里找出所有奇數可以這樣寫:
a = [1,2,3,4,5,6,7,8]
print(list(filter(lambda x: x%2 , a)))
>>> ================================ RESTART ================================
>>>
[1, 3, 5, 7]
2.串列決議,效率比filter高,比for回圈更是高兩倍
[expr for iter_val in iterable]
[expr for iter_val in iterable if cond_expr]
第一種,首先迭代iterable里的所有內容,每一次迭代,都把iterable里相應的內容放到iter_val,再在運算式中應用該iter_val的內容,最后用運算式的計算值回傳一個串列
第二種,則是滿足條件的才執行迭代操作
上面求奇數同樣可以這樣寫:
b = [val for val in a if val%2]
print(b)
<pre name="code" class="python">>>> ================================ RESTART ================================
>>>
[1, 3, 5, 7]
if 后面可接條件運算式,不如元素長度,比如數字大小等
后記
大家如果覺得小編的代碼有用,可以多多關注小編,
同時小編的公眾號也開通了,大家可以關注下,后續進行粉絲回饋,大家一起學習python叭

打賞小編點這里哦

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/246563.html
標籤:python
上一篇:js逆向決議,js爬蟲
