この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
広告
posted by fanblog
2022年05月07日
python:ジェネレータ関数(マッピング)
配列の要素マッピング
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))))
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]