将x和y坐标列表转换为多字符串

时间:2015-08-13 03:34:07

标签: list python-2.7 multiline

我有一组x和y坐标如下:

x = (1,1,2,2,3,4) y= (0,1,2,3,4,5)

将此列表转换为多行字符串格式的最佳方法是什么,例如:

x_y = [((1,0)(1,1)),((1,1)(2,2)),((2,2)(2,3)),((2,3)(3,4)),((3,4)(4,5))]

1 个答案:

答案 0 :(得分:2)

您可以将xy的元素与zip()配对:

>>> x = (1,1,2,2,3,4)
>>> y = (0,1,2,3,4,5)
>>> xy = zip(x, y)
>>> xy
[(1, 0), (1, 1), (2, 2), (2, 3), (3, 4), (4, 5)]

然后,您可以使用列表推导将其重新排列为示例中的列表类型:

>>> x_y = [(xy[i], xy[i+1]) for i in xrange(len(xy)-1)]
>>> x_y
[((1, 0), (1, 1)), ((1, 1), (2, 2)), ((2, 2), (2, 3)), ((2, 3), (3, 4)), ((3, 4), (4, 5))]

如果你不关心效率,第二部分也可以写成:

>>> x_y = zip(xy, xy[1:])
相关问题