次のように itertools.product と呼ぶ小さなスクリプトを書いています。
for p in product(list1,list2,list3):
self.createFile(p)
含めるリストの数を事前に知らなくても、この関数を呼び出す方法はありますか?
ありがとう
スターまたはスプラット演算子 (いくつかの名前があります) を使用できます: for p in product(*lists)
wherelists
は渡したいもののタプルまたはリストです。
def func(a,b):
print (a,b)
args=(1,2)
func(*args)
関数を定義して、可変数の引数を受け入れるようにするときに、同様のことができます。
def func2(*args): #unpacking
print(args) #args is a tuple
func2(1,2) #prints (1, 2)
そしてもちろん、splat 演算子を可変数の引数と組み合わせることができます。
args = (1,2,3)
func2(*args) #prints (1, 2, 3)
splat operator( *
) を使用して、不明な数の引数の位置引数を渡したり収集したりします。
def func(*args):
pass
lis = [1,2,3,4,5]
func(*lis)