[英]Python - Write Co-ordinates into array
我想知道如何最好地将x,y坐标写入数组中?
我也不知道阵列会变成多大...
也许,还有其他更易于使用的数据结构吗?
谢谢你的帮助。
您可以将包含x,y坐标的元组(X,Y)插入列表中。
>>>l=[]
>>>coords = tuple([2,4])
>>>l.append(coords)
>>>l
[(2,3)]
my_coords = [(1, 2), (3, 4)]
my_coords.append((5, 6))
for x, y in my_coords:
print(x**2 + y**2)
坐标的一些例子
单位圆内的点
my_coords = [(0.5, 0.5), (2, 2), (5, 5)]
result = []
for x, y in my_coords:
if x**2 + y**2 <= 1:
result.append((x, y))
产生一个圆
from math import sin, cos, radians
result = []
for i in range(360):
x = cos(radians(i))
y = -sin(radians(i))
result.append((x, y))
如果您事先知道数据的大小,请使用numpy数组。
import numpy
arr = numpy.array([ [x,y] for x,y in get_coords() ])
如果您需要即时添加数据,请使用元组列表。
l = []
for x,y in get_coords():
l.append((x,y))
一个元组可能足以完成简单的任务,但是您也可以为此目的创建一个Coordinate
类。
class Coordinate(object):
def __init__(self, x, y):
self.x = x
self.y = y
def __repr__(self):
return 'Coordinate({0.x:d}, {0.y:d})'.format(self)
>>> coord = Coordinate(0, 0)
Coordinate(0, 0)
>>> coord.x = 1
>>> coord.y = 2
>>> coord
Coordinate(1, 2)
>>> coord.x
1
>>> coord.y
2
使用以下__repr__
方法:
def __repr__(self):
return 'Coordinate(%d, %d)'.format(self)
浮点坐标将按原样存储,但是__repr__
方法将对其进行舍入。 只需将:d
替换为:.2f
(与%
相同),其中2
是要显示的小数点数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.