Obtener un elemento de la lista / tupla única dada una condición en pitón
-
21-08-2019 - |
Pregunta
¿Cómo consigo un elemento de la tupla / lista dada una condición en Python? Esto ocurre bastante a menudo y estoy buscando una manera agradable-pocos-lines-Pythonic de hacer esto.
aquí podría ser un ejemplo:
Considere una tupla que contiene los puntos de coordenadas 2D como esto:
points = [[x1, y1],[x2, y2],[x3, y3], ...]
Y me gustaría llegar punto que minimiza la distancia euclídea dado un punto arbitrario (por ejemplo [X, Y] por ejemplo, mi punto es: que no está contenida en la lista)
def dist(p1, p2):
return sqrt((p2[0]-p1[0])**2+(p2[1]-p1[1])**2)
pointToCompare2 = [X, Y]
Cualquier persona que tiene un extraño un trazador de líneas (o no) para que? Gracias!
Solución
min(points, key=lambda x: dist(pointToCompare2, x))
min es una función incorporado.
Otros consejos
v = [1,3,2,4,7,3,3,4,5,11]
def get_num_uniques(v):
count = []
dup = []
tmp = []
for i in v:
if i not in count:
count.append(i)
else:
dup.append(i)
count.remove(i)
for j in count:
if j not in dup:
tmp.append(j)
return tmp
#Call the function
print get_num_uniques(v)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow