1

在 Revit API 中,我试图获得房间边界的最长和最短边。(房间是一个长方形)

现在,我有一个房间的 4 个边界边缘的列表。(rb_curves)这些是曲线。我试图按每条曲线​​的长度对这个列表进行排序。

sorted_rb_curves = sorted(rb_curves, key=?)

我想知道我可以为“键”分配什么以便排序。

您的帮助将不胜感激!

4

1 回答 1

2

根据对象属性对列表进行排序的一种简单方法是使用 lambda。在您的情况下,它将是:

rb_curves.sort(key=lambda x: x.Length)

Length您排序的属性在哪里。请注意,这会修改您的原始列表(而不是创建新的排序列表)

这将意味着rb_curves[0]最短的边界,rb_curves[-1]最长的。

于 2019-06-20T02:45:40.203 回答