0

我的最终目标是编写一个函数,它将列表作为参数并找到列表中点的最佳拟合线,然后绘制点和最佳拟合线,但我需要一些关于如何处理给定列表的建议-

我的参数/列表可能是这样的: [(1,3),(5,8),(2,4)] 我需要找到 x 值和 y 值的平均值 - 我不确定如何将我的 (x,y) 点分成一个 x 值列表和一个 y 值列表,以便我可以分别找到两者的平均值。也许我分开坐标的想法不是最有效的想法......

4

2 回答 2

0

使用zip

>>> zip(*[(1,3),(5,8),(2,4)])
<zip object at 0x7f377bebe050>
>>> list(_)
[(1, 5, 2), (3, 8, 4)]
>>> xpoints, ypoints = zip(*[(1,3),(5,8),(2,4)])
>>> xpoints
(1, 5, 2)
>>> ypoints
(3, 8, 4)
于 2013-07-09T04:01:16.110 回答
0

给出一个元组列表,创建元组中第一个和第二个元素的列表可以通过列表推导来完成,如下所示:

>>> z = [(1,3),(5,8),(2,4)]
>>> [a for a,b in z]
[1, 5, 2]
>>> [b for a,b in z]
[3, 8, 4]
于 2013-07-09T04:04:00.573 回答