Python | Punto más lejano en líneas horizontales en plano 2D

A veces, mientras estamos en programación competitiva, podemos enfrentarnos a un problema que es del dominio de la geometría y funciona con el sistema de coordenadas xy. La lista de tupla se puede utilizar para almacenar la misma. Y junto con esto, podría haber un problema en el que necesitamos un punto con el valor máximo del eje x con un eje y similar, es decir, el punto más lejano en las líneas horizontales. Vamos a discutir ciertas formas de discutir este problema.

Método: uso de comprensión de lista +max()
Este es un método genérico de fuerza bruta aplicado para obtener el punto máximo del eje x para el eje y común, hecho como 1 trazador de líneas usando comprensión de lista. El max()se utiliza para encontrar el máximo del elemento del eje 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))
Producción :

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)]

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *