我正在将XML文件解析为坐标列表,这是我正在使用的代码行
nodes = [(int(x.text.strip().split(' ')[0]),int(x.text.strip().split(' ')[1])) for x in tree.getroot()[0]]
其中tree.getroot()将输出类似[“100 200”,“40 90”,...]的内容 我正在使用该代码去除空白,将其拆分为两个数字,并将它们转换为整数,但我不禁看着那些代码并认为它不能很快。 有关优化它的想法吗?
答案 0 :(得分:0)
你应该总是问自己为什么你想要优化某些东西。如果你认为某些东西是快速的并且有时它甚至不重要,只要它足够快就没那么重要。
尽管如此,对于我能想到的大多数用例来说,这看起来还不错。
答案 1 :(得分:0)
不。但它可以简化很多。
>>> L = [' 1 2 ', '3 4 ']
>>> [tuple(int(y) for y in x.split()) for x in L]
[(1, 2), (3, 4)]
答案 2 :(得分:0)
只想感谢伊格纳西奥。需要类似的方法将坐标转换为元组列表。在我的情况下,格式为['412.47298,198.204',412.05498,198.597',...]。必须摆脱逗号并将其转换为float格式。
那是
some_float = ['412.47298,198.204', '412.05498,198.597']
[tuple(float(y) for y in x.split(",")) for x in some_float]