说我有一个名为'points'的类,其属性为'x'和'y'
,然后创建点列表p = [p1,p2,p3,p4]
其中p1.x = x1,py.y = y1 ...
如何轻松提取所有x和y值作为列表? 例如
x = [x1,x2,x3,x4]
y = [y1,y2,y3,y4]
这可以简单地在python中的一行代码中完成吗?
答案 0 :(得分:2)
您可以执行以下操作:
p = [p1,p2,p3,p4]
x = [point.x for point in p]
y = [point.y for point in p]
答案 1 :(得分:1)
x = [point.x for point in p]
y = [point.y for point in p]
可以工作,但这将使p
重复两次,这是不必要的,您可以尝试:
p = [p1, p2, p3, p4]
x, y = list(zip(*[(point.x, point.y) for point in p]))
答案 2 :(得分:0)
您在这里
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
points = [Point(1,2), Point(3,4), Point(5,6), Point(7,8)]
x = [p.x for p in points]
y = [p.y for p in points]
print(x)
print(y)
输出:
[1, 3, 5, 7]
[2, 4, 6, 8]
尝试here
答案 3 :(得分:-1)
您可以这样做
x, y = [point.x for point in p],[point.y for point in p]