アフィリエイト広告を利用しています

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

2022年05月07日

python:ジェネレータ関数(マッピング)

配列の要素マッピング


inputWords:入力配列
my_func:計算用関数

【コード】
import itertools

def my_func(a,b):
return a * 2 + b
inputList = [1,3,5,7,9,2,4,6,8,10]
print("配列の前から累積和を計算")
print(list(itertools.accumulate(inputList)))

print("配列の前から my_func を計算")
print(list(itertools.accumulate(inputList,my_func)))

print("配列の前から (index, item)のタプルを出力. 第2引数にindexの開始番号を指定可能. デフォルト0開始")
print(list(enumerate(inputList)))

print("配列の前からmy_funcを計算. my_funcの引数の数だけ、mapの引数を追加する必要がある.")
print(list(map(my_func,inputList,inputList)))

print("配列の前からmy_funcを計算. 第2引数は配列. 配列の各要素はmy_funcの引数サイズにする必要がある.")
print(list(itertools.starmap(my_func,enumerate(inputList))))


【出力結果】
配列の前から累積和を計算
[1, 4, 9, 16, 25, 27, 31, 37, 45, 55]
配列の前から my_func を計算
[1, 5, 15, 37, 83, 168, 340, 686, 1380, 2770]
配列の前から (index, item)のタプルを出力. 第2引数にindexの開始番号を指定可能. デフォルト0開始
[(0, 1), (1, 3), (2, 5), (3, 7), (4, 9), (5, 2), (6, 4), (7, 6), (8, 8), (9, 10)]
配列の前からmy_funcを計算. my_funcの引数の数だけ、mapの引数を追加する必要がある.
[3, 9, 15, 21, 27, 6, 12, 18, 24, 30]
配列の前からmy_funcを計算. 第2引数は配列. 配列の各要素はmy_funcの引数サイズにする必要がある.
[1, 5, 9, 13, 17, 12, 16, 20, 24, 28]

タグ: MAP itertools
posted by androidprogramblog at 20:00 | TrackBack(0) | Python

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])))


【出力結果】
falseとなった要素のみ出力
['は', 'よ', 'ご', 'ざ', 'ま', 'す', '.']
始めてfalseとなった要素以降を出力
['は', 'よ', 'う', 'ご', 'ざ', 'い', 'ま', 'す', '.']
始めてfalseとなった要素まで出力
['お']
要素をスライスする. 開始と終了
['よ', 'う', 'ご', 'ざ']
要素をスライスする. 開始と終了,スキップ
['よ', 'ざ']
selector_it の True項目のみ出力
['う', 'ご']

posted by androidprogramblog at 21:00 | TrackBack(0) | Python
×

この広告は30日以上新しい記事の更新がないブログに表示されております。

Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: