-1

2 つの可変長引数を使用する関数を作成したいと考えています。例えば:

def my_func(*args1, *args2):
    for i in args1:
        do stuff
    for j in args2:
        do stuff

Pythonで複数を使用する方法はあり*argsますか? 助けてくれてありがとう。

4

5 に答える 5

6

いいえ、判断する方法がありません。

my_func(a, b)

意味

args = [], args2 = [a,b] # or ..
args = [a], args2 = [b]  # or ..
args = [a,b], args2 = []

代わりに、関数が引数として 2 つのリストを受け取るようにします。

于 2011-10-08T11:47:46.883 に答える
1

リストを使用する必要があります。そうすれば、どのアイテムがどの引数に入るかは明らかです。

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])
于 2011-10-08T11:49:31.657 に答える
0

各引数に配列 (または配列に対する Python の名前) を使用できます。そうしないと、Python が可変長引数の各セットをどこで分割するかを知る方法がありません。

于 2011-10-08T11:46:24.643 に答える
0

関数をどのように呼び出しますか? なぜ 2 つの arry または dict を使用しないのですか?

于 2011-10-08T11:46:33.003 に答える
0

いいえ、それは意味がありません。最初のリストと 2 番目のリストの内容を決定するものは何ですか? ただし、キーワード引数を渡すこともできます (まだ知らなかった場合):

def func(*args **kwargs):
    pass

あなたが達成しようとしていることは、正確には何ですか?

于 2011-10-08T11:48:05.367 に答える