我有一个坐标列表,我需要根据它们的x值将它们分成两半。事情是这样的:Python,分割坐标列表,基于x
l = [(0, 0), (1, 0), (2, 0), (3, 0), (0, 1), (1, 1), (2, 1), (3, 1)]
left = []
right = []
for i in l:
if i[0] < 2:
left.append(i)
else:
right.append(i)
print(left)
print(right)
输出:
[(0, 0), (1, 0), (0, 1), (1, 1)]
[(2, 0), (3, 0), (2, 1), (3, 1)]
有一个更快的方法来做到这一点?
你在一个循环中做,所以基本上我不认为有更快的方法。 – 2013-04-28 20:34:52
相关:http://stackoverflow.com/q/949098/951890 – 2013-04-28 20:36:13
你的代码在性能上是好的。 @LevLevitsky是对的,肯定可以写出更快的方法,但性能差异应该可以忽略不计。 – vaultah 2013-04-28 20:38:31