Python根據(jù)過濾器拆分列表
1. bifurcate
def bifurcate(lst, filter):
return [
[x for i, x in enumerate(lst) if filter[i] == True],
[x for i, x in enumerate(lst) if filter[i] == False]
]
# EXAMPLES
bifurcate(['beep', 'boop', 'foo', 'bar'], [True, True, False, True]) # [ ['beep', 'boop', 'bar'], ['foo'] ]
bifurcate函數(shù)通過一個過濾器filter定義的內(nèi)容,將輸入列表lst分成兩組。將filter中為True的對應(yīng)的lst的項放入結(jié)果的第一個列表中,將filter中為False的對應(yīng)的lst的項放入結(jié)果的第二個列表中。
2. enumerate
enumerate(iterable, start=0)
enumerate函數(shù)接收一個可迭代對象,并返回一個迭代對象。該迭代對象每次迭代返回一個元組,該元組包括一個序號和接收的可迭代對象的迭代值。start參數(shù)用于設(shè)定序號的初始值,默認為0。
示例使用為:
>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter'] >>> list(enumerate(seasons)) [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')] >>> list(enumerate(seasons, start=1)) [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
enumerate函數(shù)的實現(xiàn)邏輯相當(dāng)于如下代碼:
def enumerate(sequence, start=0):
n = start
for elem in sequence:
yield n, elem
n += 1
3. 列表推導(dǎo)式
該函數(shù)使用列表推導(dǎo)式判斷lst里面值對應(yīng)位置的filter的值,并生成對應(yīng)的分組列表。
列表推導(dǎo)式的簡單介紹可以查看:Python 實現(xiàn)過濾掉列表中唯一值的章節(jié)。
到此這篇關(guān)于Python根據(jù)過濾器拆分列表的文章就介紹到這了,更多相關(guān)Python根據(jù)過濾器拆分列表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用python matplotlib 畫圖導(dǎo)入到word中如何保證分辨率
這篇文章主要介紹了使用python matplotlib 畫圖導(dǎo)入到word中如何保證分辨率的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
Python?OpenCV形態(tài)學(xué)運算示例詳解
這篇文章主要為大家介紹了OpenCV中的幾個形態(tài)學(xué)運算,例如:腐蝕&膨脹、開&閉運算、梯度運算、頂帽運算黑帽運算,感興趣的可以了解一下2022-04-04
關(guān)于Python使用turtle庫畫任意圖的問題
這篇文章主要介紹了Python turtle庫畫任意圖,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04

