0

これは私がやりたいことです:

def f: return 1, 2

list = {
    "a","b": f()
}

1 回の関数呼び出しでリストの 2 つの要素を同時に設定する方法はありますか?

4

3 に答える 3

6
>>> dict(zip(('a', 'b'), f()))
{'a': 1, 'b': 2}
于 2013-08-08T21:44:34.577 に答える
5

の作成に属性を設定しますdict

dct = {}
dct['a'], dct['b'] = f()

複数の代入は、dict リテラル表記ではなく、代入時にのみ機能します。

于 2013-08-08T21:44:43.017 に答える
0

疑似コードから、リストではなく辞書が必要であるように見えますが、PEP-448が実現した場合 (現在 3.4 に予定されています)、リストへのアンパックは使い慣れた構文で簡単になることに注意してください。 python users - *(解凍オペレーター):

>>> def f(): return 1, 2
>>> a_list = [*f]
>>> a_list
[1, 2]
于 2013-08-08T22:03:01.880 に答える