首页 > 解决方案 > 如何从段列表中返回最大的 x 坐标和最大的 y 坐标?

问题描述

所以,我有一堆线段作为输入,它们由 x 坐标和 y 坐标组成。水平线段具有左右 x 坐标和唯一的 y 坐标,而垂直线段具有上下 y 坐标和唯一的 x 坐标。我想他们会是这样的:

水平段 = ((2,8), 4)

垂直段 = (3, (2,5))

所有段 = [((2,8), 1), (3, (2,5)), (5, (3,4)), (4, (6,7))]

我想返回最大的 x 坐标和最大的 y 坐标。我怎样才能做到这一点?

标签: pythonlistmax

解决方案


这是您可以解决的方法:

data = [((2,8), 1), (3, (2,5)), (5, (3,4)), (4, (6,7))]
x = []
y = []
for elem in data:
    if type(elem[0])==tuple:
        x.append(max(elem[0]))
    else:
        x.append(elem[0])
    if type(elem[1])==tuple:
        y.append(max(elem[1]))
    else:
        y.append(elem[1])

print("Max(x) =",max(x))
print("Max(y) =",max(y))

输出:

Max(x) = 8
Max(y) = 7

推荐阅读