f
引数i
、A
およびを受け取る関数がありB
ます。i
はカウンターで、A
とB
はリストまたは定数です。A
この関数は、 andB
がリストの場合、i 番目の要素を追加するだけです。これが私がPython 3で書いたものです。
def const_or_list(i, ls):
if isinstance(ls, list):
return ls[i]
else:
return ls
def f(i, A, B):
_A = const_or_list(i, A)
_B = const_or_list(i, B)
return _A + _B
M = [1, 2, 3]
N = 11
P = [5, 6, 7]
print(f(1, M, N)) # gives 13
print(f(1, M, P)) # gives 8
const_or_list()
入力引数の 2 つ (すべてではない) で関数が呼び出されていることがわかります。私が上でやっていることを達成するためのデコレータ(おそらくよりPythonic)のアプローチはありますか?