使用返回元组的函数 - Python同时定义列表的两个成员

时间:2013-08-08 21:42:00

标签: python list tuples

这就是我希望我能做到的:

def f: return 1, 2

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

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

3 个答案:

答案 0 :(得分:6)

>>> dict(zip(('a', 'b'), f()))
{'a': 1, 'b': 2}

答案 1 :(得分:5)

在创建dict

后设置属性
dct = {}
dct['a'], dct['b'] = f()

多个赋值仅在分配时有效,而不是在dict文字符号中。

答案 2 :(得分:0)

从你的伪代码看,你想要一个字典,而不是一个列表,但值得注意的是,如果PEP-448实现(目前定为3.4),解压缩到一个列表将很容易使用python用户熟悉的语法 - *(解包运算符):

>>> def f(): return 1, 2
>>> a_list = [*f]
>>> a_list
[1, 2]