从Python中的理解返回多个列表

Python有没有什么方法可以从理解中返回多个列表?

我想做一些事情的效果:

x,y = [i,(-1*j) for (i,j) in enumerate(range(10))]
# x = [0 .. 9]
# y = [0 .. -9]

这是一个愚蠢的例子,但我只是想知道是否有可能。


x,y =zip(* [(i,(-1*j)) for (i,j) in enumerate(range(10))] )

你只需解压缩列表

xy = [(1,2),(3,4),(5,6)]
x,y = zip(*xy)
# x = (1,3,5)
# y = (2,4,6)

你可以跳过列表理解:

>>> x,y=range(0,10), range(0,-10,-1)
>>> x
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> y
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

或者你可以这样做:

>>> x,y=map(list, zip(*[(e,-e) for e in range(10)]))
链接地址: http://www.djcxy.com/p/32513.html

上一篇: Return multiple lists from comprehension in python

下一篇: WPF AutomationPeer Crash on TouchScreen Devices