这就是我希望我能做到的:
def f: return 1, 2
list = {
"a","b": f()
}
有没有办法通过单个函数调用同时设置列表的两个元素?
答案 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]