2 つの可変長引数を使用する関数を作成したいと考えています。例えば:
def my_func(*args1, *args2):
for i in args1:
do stuff
for j in args2:
do stuff
Pythonで複数を使用する方法はあり*args
ますか? 助けてくれてありがとう。
いいえ、判断する方法がありません。
my_func(a, b)
意味
args = [], args2 = [a,b] # or ..
args = [a], args2 = [b] # or ..
args = [a,b], args2 = []
代わりに、関数が引数として 2 つのリストを受け取るようにします。
リストを使用する必要があります。そうすれば、どのアイテムがどの引数に入るかは明らかです。
def my_func(args1, args2):
for a in args1:
print a
for b in args2:
print b
my_func([1, 2, 3], [4, 5, 6])
各引数に配列 (または配列に対する Python の名前) を使用できます。そうしないと、Python が可変長引数の各セットをどこで分割するかを知る方法がありません。
関数をどのように呼び出しますか? なぜ 2 つの arry または dict を使用しないのですか?
いいえ、それは意味がありません。最初のリストと 2 番目のリストの内容を決定するものは何ですか? ただし、キーワード引数を渡すこともできます (まだ知らなかった場合):
def func(*args **kwargs):
pass
あなたが達成しようとしていることは、正確には何ですか?