所以我有一些名单:基于另一个列表排序不同的列表?
shape1 = [[0, 0], [0, 100], [100, 100], [100, 0]]
shape2 = [[300, 300], [300, 450], [450, 450], [450, 300]]
list1 = [shape1, shape2]
height_y = [100, 150]
所以我想基于其高度的形状排序(从大到小)。排列height_y列表非常简单,但高度基于与相同位置相关的形状。因此,如果我对height_y进行排序,那么如何对list1进行排序,以便在排序后形状移动到与height_y列表相同的位置?然而,我不想让形状列表中的点的布置改变。
最终目标:
height_y = [150, 100]
list1 = [shape2, shape1]
注:我只使用两个形状这里(由点定义),但我想这是能够与多种形状的工作(向上一百岁)。
一个整体更好的解决方案可能是收集在一个地方所有关于形状的信息,比如字典或自定义类,然后” d只需要这些对象的一个列表,这很容易被分类。 –
唯一的问题是我的大部分数据需要留在列表中,因为它需要在运行中进行编辑/更改(所有形状都会一次又一次地移动/旋转以满足间距/重力/排序条件)。 – Frank
我不明白这是什么问题;字典和自定义类的编辑就像列表条目一样简单。但我会接受你的话。 –