📜  Python|二维平面中水平线上的最远点

📅  最后修改于: 2022-05-13 01:54:43.310000             🧑  作者: Mango

Python|二维平面中水平线上的最远点

有时,在竞争性编程中,我们可能会遇到几何领域的问题,并且使用 xy 坐标系。元组列表可用于存储相同的内容。与此同时,可能存在一个问题,即我们需要 x 轴的最大值与 y 轴相似的点,即水平线上的最远点。让我们讨论一些讨论这个问题的方法。

方法:使用列表理解 + max()
这是一种通用的蛮力方法,用于获取公共 y 轴的最大 x 轴点,使用列表理解作为 1 行。 max()用于查找 x 轴元素的最大值。

# Python3 code to demonstrate working of
# Farthest point on horizontal lines in 2D plane
# Using list comprehension + max()
from collections import defaultdict
  
# initializing list
test_list = [(1, 6), (4, 6), (2, 6), (6, 8), (1, 8), (2, 9)]
  
# printing original list
print("The original list is : " +  str(test_list))
  
# Using list comprehension + max()
# Farthest point on horizontal lines in 2D plane
temp = defaultdict(list)
for key, val in test_list:
   temp[val].append(key)
res = [(key, val) for key, val in test_list if max(temp[val]) == key]
  
# Printing result
print("The list after filtering just maximum points on lines : " +  str(res))
输出 :
The original list is : [(1, 6), (4, 6), (2, 6), (6, 8), (1, 8), (2, 9)]
The list after filtering just maximum points on lines : [(4, 6), (6, 8), (2, 9)]