从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