0

这就是我希望我能做的:

def f: return 1, 2

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

有没有办法通过单个函数调用同时设置列表的两个元素?

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()

多重赋值仅在赋值时有效,而不是在字典文字符号中。

于 2013-08-08T21:44:43.017 回答
0

从您的伪代码看来,您需要的是字典,而不是列表,但值得注意的是,如果PEP-448实现(目前定于 3.4),使用熟悉的语法解压到列表中将很容易python用户- *(解包操作员):

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