新規記事の投稿を行うことで、非表示にすることが可能です。
2022年06月05日
python:ジェネレータ関数(複数の配列を組み合わせる)
配列から要素の抽出・フィルタリング
inputWords:入力文字列
【コード】
import itertools
inputWords = "あいう"
print("要素を順につなげる")
print(list(itertools.chain(enumerate(inputWords),inputWords)))
print("多重配列を要素を順につなげ単配列にする")
print(list(itertools.chain.from_iterable(enumerate(inputWords))))
print("要素のデカルト積.repeatで配列の繰り返し数を指定する")
print(list(itertools.product(inputWords,repeat=2)))
print(list(itertools.product(inputWords,inputWords)))
print("複数の配列から並列して要素を取得. 一番短い配列の要素に合わせて終了する")
print(list(zip(inputWords,[1,2])))
print("複数の配列から並列して要素を取得. 一番長い配列の要素に合わせる. fillvalueの指定がなければNone.")
print(list(itertools.zip_longest(inputWords,[1,2])))
inputWords = "あいう"
print("要素を順につなげる")
print(list(itertools.chain(enumerate(inputWords),inputWords)))
print("多重配列を要素を順につなげ単配列にする")
print(list(itertools.chain.from_iterable(enumerate(inputWords))))
print("要素のデカルト積.repeatで配列の繰り返し数を指定する")
print(list(itertools.product(inputWords,repeat=2)))
print(list(itertools.product(inputWords,inputWords)))
print("複数の配列から並列して要素を取得. 一番短い配列の要素に合わせて終了する")
print(list(zip(inputWords,[1,2])))
print("複数の配列から並列して要素を取得. 一番長い配列の要素に合わせる. fillvalueの指定がなければNone.")
print(list(itertools.zip_longest(inputWords,[1,2])))
【出力結果】
要素を順につなげる
[(0, 'あ'), (1, 'い'), (2, 'う'), 'あ', 'い', 'う']
多重配列を要素を順につなげ単配列にする
[0, 'あ', 1, 'い', 2, 'う']
要素のデカルト積.repeatで配列の繰り返し数を指定する
[('あ', 'あ'), ('あ', 'い'), ('あ', 'う'), ('い', 'あ'), ('い', 'い'), ('い', 'う'), ('う', 'あ'), ('う', 'い'), ('う', 'う')]
[('あ', 'あ'), ('あ', 'い'), ('あ', 'う'), ('い', 'あ'), ('い', 'い'), ('い', 'う'), ('う', 'あ'), ('う', 'い'), ('う', 'う')]
複数の配列から並列して要素を取得. 一番短い配列の要素に合わせて終了する
[('あ', 1), ('い', 2)]
複数の配列から並列して要素を取得. 一番長い配列の要素に合わせる. fillvalueの指定がなければNone.
[('あ', 1), ('い', 2), ('う', None)]
[(0, 'あ'), (1, 'い'), (2, 'う'), 'あ', 'い', 'う']
多重配列を要素を順につなげ単配列にする
[0, 'あ', 1, 'い', 2, 'う']
要素のデカルト積.repeatで配列の繰り返し数を指定する
[('あ', 'あ'), ('あ', 'い'), ('あ', 'う'), ('い', 'あ'), ('い', 'い'), ('い', 'う'), ('う', 'あ'), ('う', 'い'), ('う', 'う')]
[('あ', 'あ'), ('あ', 'い'), ('あ', 'う'), ('い', 'あ'), ('い', 'い'), ('い', 'う'), ('う', 'あ'), ('う', 'い'), ('う', 'う')]
複数の配列から並列して要素を取得. 一番短い配列の要素に合わせて終了する
[('あ', 1), ('い', 2)]
複数の配列から並列して要素を取得. 一番長い配列の要素に合わせる. fillvalueの指定がなければNone.
[('あ', 1), ('い', 2), ('う', None)]