1

私は非常に単純なことをしようとしていますが、なぜこれを解決できないのかわかりません...

2つの引数があります。ループを使用して両方をリストに入れたいだけです。ループを使用している理由は、ある日、関数がローカルではなく多くのsys.argvを受け取る可能性があるためです。つまり、次のようになります。

def function(arg1, arg2):
    list = []
    for i in range(len(locals())):
        list.append(locals()[i])
function(1,2)

私の言いたいことを理解したら、この問題の解決策を教えていただけますか?ありがとう

4

2 に答える 2

6

locals().values()含まれているすべての値を取得するために使用するだけです。

list = locals().values()

ただし、関数が将来 を使用する場合はsys.argv、代わりに位置引数を使用するようにします。

def func(*args):
    # args is a list of arguments
    print args

func(1, 2)
于 2013-01-09T18:42:21.287 に答える
0

locals()から値を取得する目的で使用する必要がある理由はありますsys.argvか? コマンドライン引数を解析している場合は、おそらくargparse? http://docs.python.org/dev/library/argparse.html

于 2013-01-09T18:44:16.173 に答える