[u'10.57518117688789', u'43.17174576695126', u'0 10.57512669810526', u'43.17172389657181', u'0 10.57509460784044', u'43.17169116727101', u'0']
我需要把它变成一个从第一个到最后一个顺序的纬度和经度列表。第一个元素是纬度,第二个元素是经度。我不需要你或'0'。
现在,我只是打印它们,但是这个方法需要按顺序返回一个坐标列表。
def get_coord_list_from_earth(filename):
filename = str(filename)
data = xml.dom.minidom.parse(filename)
coordinates = data.getElementsByTagName('coordinates')[0].firstChild.nodeValue
coordinates = coordinates.strip()
print coordinates.split(',')
我需要输出这样的列表列表。
[10.57518117688789, 43.17174576695126], [10.57512669810526, 43.17172389657181], [10.57509460784044, 43.17169116727101]
此链接指向需要与
一起运行的示例文件答案 0 :(得分:2)
可以使用zip
轻松完成:
[[float(item[0]), float(item[1])] for item in zip(coordinates[0::2], coordinates[1::2])]
请参阅此处的用法:http://ideone.com/j4O48c
答案 1 :(得分:1)
请你检查一下:
请告诉我这是否适合您:
import xml.dom.minidom
def get_coord_list_from_earth(filename):
filename = str(filename)
data = xml.dom.minidom.parse(filename)
coordinates = data.getElementsByTagName('coordinates')[0].firstChild.nodeValue
coordinates = str(coordinates.strip())
lol = list()
ls = coordinates.split(',')
for group_ls in zip(ls[0::2], ls[1::2]):
f = group_ls[0].split()[-1]
s = group_ls[1].split()[-1]
# creating list of tuples, if you are not going to mutate it
# then tuple is must more memory efficient then list.
lol.append((f,s))
return lol
print get_coord_list_from_earth('test.xml')
输出:
[('-99.96592053692414', '35.92662037784583'), ('-99.96540056429473',
'35.92663981781373'), ('-99.96498447443297', '35.92665534578857'),
('-99.96454642236132', '35.9264185376019')]