Python 从列表中提取x和y值

Python 从列表中提取x和y值,python,list,Python,List,我有这样的清单: pp=[[0,0] , [-1,5], [2,3], [1,5], [3,6], [4,5], [5,3], [8,-2], [4, -4], [2, -5]] 我想在单独的列表中提取x和y值,如: ppx= [0, -1, 2, 1, 3, 4, 5, 8, 4, 2] 使用zip()分隔坐标: ppx, ppy = zip(*pp) 这就产生了元组;这些对象很容易映射到列表对象: ppx, ppy = map(list, zip(*pp)) 这在Python2和Py

我有这样的清单:

pp=[[0,0] , [-1,5], [2,3], [1,5], [3,6], [4,5], [5,3], [8,-2], [4, -4], [2, -5]]
我想在单独的列表中提取x和y值,如:

ppx= [0, -1, 2, 1, 3, 4, 5, 8, 4, 2]
使用
zip()
分隔坐标:

ppx, ppy = zip(*pp)
这就产生了元组;这些对象很容易映射到
列表
对象:

ppx, ppy = map(list, zip(*pp))
这在Python2和Python3中都可以使用(其中为元组赋值扩展了
map()
迭代器)

演示:

我认为这是最直接的方式:

xs = [p[0] for p in pp]
ys = [p[1] for p in pp]

使用列表理解:

pp=[[0,0] , [-1,5], [2,3], [1,5], [3,6], [4,5], [5,3], [8,-2], [4, -4], [2, -5]]
ppx=[a[0] for a in pp]
ppy=[a[1] for a in pp]
更多关于Python文档中的列表理解:

pp=[[0,0] , [-1,5], [2,3], [1,5], [3,6], [4,5], [5,3], [8,-2], [4, -4], [2, -5]]
ppx=[a[0] for a in pp]
ppy=[a[1] for a in pp]