0

Python には 3 つのリストがあります。まあ言ってみれば :

list_a
list_b
list_c

今、リストを返し、上記のリストに保存するメソッドを呼び出しています。例えば:

list_a = get_value(1)
list_b = get_value(2)
list_c = get_value(3)

異なるパラメーターで同じメソッドを呼び出す方法は、適切なオプションではないと思います。これらのメソッドを 1 行で呼び出すことは可能でしょうか?

私はPythonの初心者ですが、タプルオプションはどうですか?

4

3 に答える 3

3

リストのリスト?

ll = [get_value(x) for x in (1, 2, 3)]

またはあなたの3つのリストで:

list_a, list_b, list_c = [get_value(x) for x in (1, 2, 3)]

get_valueこれは変更できず、単一のリストのみを返します。

別の可能性は辞書です。

params = {'a': 1, 'b': 2, 'c': 3}
result = {k:get_value(v) for k,v in params.iteritems()}
# result == {'a': get_value(1), 'b': get_value(2), 'c': get_value(3)}
于 2012-07-13T11:49:30.437 に答える
3

関数が正しく設定されている場合 (つまり、パラメーターで送信したリストの数と同じ数を返すように変更されている場合)、次のような呼び出しを行うことができます。

 list_a, list_b, list_c = get_value(1, 2, 3)

whereget_value()は 3 つの値のタプルを返します。

それはあなたが尋ねていることですか?

于 2012-07-13T11:48:53.410 に答える
2

別の方法:

list_a, list_b, list_c = map(get_value, (1,2,3))
于 2012-07-13T12:00:52.733 に答える