新規記事の投稿を行うことで、非表示にすることが可能です。
2022年05月02日
python:ジェネレータ関数(配列から要素抽出)
配列から要素の抽出・フィルタリング
inputWords:入力文字列。フィルタリング対象
targetWords:フィルタリング用文字
【コード】
import itertools
inputWords = "おはようございます."
def targetWords(char):
return char in "あいうえお"
print("falseとなった要素のみ出力")
print(list(itertools.filterfalse(targetWords,inputWords)))
print("始めてfalseとなった要素以降を出力")
print(list(itertools.dropwhile(targetWords,inputWords)))
print("始めてfalseとなった要素まで出力")
print(list(itertools.takewhile(targetWords,inputWords)))
print("要素をスライスする. 開始と終了")
print(list(itertools.islice(inputWords,2,6)))
print("要素をスライスする. 開始と終了,スキップ")
print(list(itertools.islice(inputWords,2,6,3)))
print("selector_it の True項目のみ出力")
print(list(itertools.compress(inputWords,[0,0,0,1,1])))
inputWords = "おはようございます."
def targetWords(char):
return char in "あいうえお"
print("falseとなった要素のみ出力")
print(list(itertools.filterfalse(targetWords,inputWords)))
print("始めてfalseとなった要素以降を出力")
print(list(itertools.dropwhile(targetWords,inputWords)))
print("始めてfalseとなった要素まで出力")
print(list(itertools.takewhile(targetWords,inputWords)))
print("要素をスライスする. 開始と終了")
print(list(itertools.islice(inputWords,2,6)))
print("要素をスライスする. 開始と終了,スキップ")
print(list(itertools.islice(inputWords,2,6,3)))
print("selector_it の True項目のみ出力")
print(list(itertools.compress(inputWords,[0,0,0,1,1])))
【出力結果】
falseとなった要素のみ出力
['は', 'よ', 'ご', 'ざ', 'ま', 'す', '.']
始めてfalseとなった要素以降を出力
['は', 'よ', 'う', 'ご', 'ざ', 'い', 'ま', 'す', '.']
始めてfalseとなった要素まで出力
['お']
要素をスライスする. 開始と終了
['よ', 'う', 'ご', 'ざ']
要素をスライスする. 開始と終了,スキップ
['よ', 'ざ']
selector_it の True項目のみ出力
['う', 'ご']
['は', 'よ', 'ご', 'ざ', 'ま', 'す', '.']
始めてfalseとなった要素以降を出力
['は', 'よ', 'う', 'ご', 'ざ', 'い', 'ま', 'す', '.']
始めてfalseとなった要素まで出力
['お']
要素をスライスする. 開始と終了
['よ', 'う', 'ご', 'ざ']
要素をスライスする. 開始と終了,スキップ
['よ', 'ざ']
selector_it の True項目のみ出力
['う', 'ご']