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的對應的lst的項放入結果的第一個列表中,將filter中為False的對應的lst的項放入結果的第二個列表中。
2. enumerate
enumerate(iterable, start=0)
enumerate函數(shù)接收一個可迭代對象,并返回一個迭代對象。該迭代對象每次迭代返回一個元組,該元組包括一個序號和接收的可迭代對象的迭代值。start參數(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)邏輯相當于如下代碼:
def enumerate(sequence, start=0):
n = start
for elem in sequence:
yield n, elem
n += 1
3. 列表推導式
該函數(shù)使用列表推導式判斷lst里面值對應位置的filter的值,并生成對應的分組列表。
列表推導式的簡單介紹可以查看:Python 實現(xiàn)過濾掉列表中唯一值的章節(jié)。
到此這篇關于Python根據(jù)過濾器拆分列表的文章就介紹到這了,更多相關Python根據(jù)過濾器拆分列表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
查看django執(zhí)行的sql語句及消耗時間的兩種方法
今天小編就為大家分享一篇查看django執(zhí)行的sql語句及消耗時間的兩種方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05
Python實現(xiàn)多組數(shù)據(jù)三維繪圖系統(tǒng)
這篇文章主要為大家詳細介紹了如何利用Python實現(xiàn)多組數(shù)據(jù)三維繪圖系統(tǒng),文中的示例代碼講解詳細,具有一定的學習價值,感興趣的小伙伴可以了解下2023-08-08
Pytorch之ToPILImage()不輸出圖片問題及解決
這篇文章主要介紹了Pytorch之ToPILImage()不輸出圖片問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02

