我绝对确定这个问题以前肯定被问过多次,但我一生都找不到回答这个问题的帖子:
我正在制作一个模型导出器,我想通过遍历顶点列表并将最低和最高的 x、y 和 z 值选择到它们自己的最小/最大元组中来计算每个对象的最小和最大边界在同一张表格上。我现在这样做的方式是这样的:
x = max(vertices,key=itemgetter(0))[0]
y = max(vertices,key=itemgetter(1))[1]
z = max(vertices,key=itemgetter(2))[2]
extents_max = (x, y, z)
x = min(vertices,key=itemgetter(0))[0]
y = min(vertices,key=itemgetter(1))[1]
z = min(vertices,key=itemgetter(2))[2]
extents_min = (x, y, z)
这是可行的,但是在 python 中是否有一种更优雅的单行方法来做到这一点?
最佳答案
只要删除重复的 0、1、2,就可以了:
extents_max = [max(vertices,key=itemgetter(i))[i] for i in range(3)]
如果您需要它保留为元组,如示例中所示:
extents_max = tuple(max(vertices,key=itemgetter(i))[i] for i in range(3))
关于Python:构建一个由元组列表中的最小值组成的元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48610033/