Python-如何按X,Y坐标对其排序
我想知道如何根据下面的X-Y坐标对其进行排序。 下面的数组(coords)以这种方式给我一个输出Python-如何按X,Y坐标对其排序,python,regex,sorting,Python,Regex,Sorting,我想知道如何根据下面的X-Y坐标对其进行排序。 下面的数组(coords)以这种方式给我一个输出 220x600+200+300 200x300+400+500 我想按最后两位数字排序: 200+300为X坐标和Y坐标 400+500是X坐标和Y坐标 我希望它以这种方式被分类。。。首先是Y,然后是X,类似于下面的 [0,0]、[1,0]、[2,0]、[0,1]、[1,1]、[2,1]、[0,2]、[1,2]、[2,2]] 请让我知道它是否可以实现。下面是我的代码片段。。。重要的是我没有修改数
- 220x600+200+300
- 200x300+400+500
coords=re.findall(r“(\d+[xX]\d++\d++\d+),组件列表,re.IGNORECASE)
对于协调中的协调[1:]:
分辨率=重新搜索(r“(\d+[xX]\d+”),坐标,重新忽略案例)
分辨率=分辨率。组(1)
coord=re.search(r“(\d++\++\d+),coord,re.IGNORECASE)
协调=协调组(1)
我自己解决了这个问题。。以防有人需要我的答案,下面是我使用的。。我创建了下面的函数,然后在sorted()中使用了该函数
def排序依据(x):
coord=re.search(r“\+(\d++\+\d+),x,re.IGNORECASE)
coord_cut=“{}”.format(coord.group(1)).split('+'))
返回[coord_-cut[1],coord_-cut[0]]
coords=re.findall(r“(\d+[xX]\d++\d++\d+),组件列表,re.IGNORECASE)
coords=排序(coords,key=按coord排序)
您能否显示组件列表最初是什么以及预期输出是什么?如果它很大,请提供一个包含必要案例和相应输出的片段。谢谢。组件列表是一个输出200x600+200+300等等的命令;输出在220x600+200+300上方的列表中。您可以编辑您的帖子以显示确切的结构吗?让我猜猜它是什么会让你很难重现你的代码,并验证我给你的解决方案对你的用例来说是有意义的。请看。首先,它令人困惑,因为findall
对字符串进行操作,所以component\u list
不是实际的列表。谢谢你的澄清。