python list comprehension解压缩多个返回

tak*_*liu 2 python list-comprehension list unzip

任何人都知道如何解析元组中的值以获得列表理解?

这是一个实际的例子:

def func(x,y):
    return x*2, y*2

x = [1, 2, 3]; y = [1, 2, 3]

a, b = [ func(i,j) for i, j in zip(x,y) ] 
Run Code Online (Sandbox Code Playgroud)

不幸的是,这给了我一个错误,说'有太多的值要解包...

我试过了

zip(*func(i,j)) 
(a,b) = ...
Run Code Online (Sandbox Code Playgroud)

sco*_*fey 7

你是说以下吗?:

a, b = zip(*[func(i,j) for i, j in zip(x,y)])
Run Code Online (Sandbox Code Playgroud)