Tengo una lista en Python que genero como parte del programa. Tengo una fuerte suposición de que estos son todos diferentes, y compruebo esto con una afirmación.¿Cuál es la forma más pitónica de garantizar que todos los elementos de una lista sean diferentes?
Esta es la forma en que lo hago ahora:
Si hay dos elementos:
try:
assert(x[0] != x[1])
except:
print debug_info
raise Exception("throw to caller")
Si hay tres:
try:
assert(x[0] != x[1])
assert(x[0] != x[2])
assert(x[1] != x[2])
except:
print debug_info
raise Exception("throw to caller")
Y si alguna vez tengo que hacer esto con cuatro elementos me volveré loco.
¿Hay una manera mejor de asegurarse de que todos los elementos de la lista sean únicos?
respuesta Muy inteligente – foosion
Se podía almacenarlos en un conjunto en el primer lugar para asegurarse de que son todos únicos. O guárdelos en un conjunto, pero antes de agregarlos al conjunto, verifique la membresía. Pero esto definitivamente funciona si no tienes control sobre el formato de entrada. –
conjuntos no conservan necesariamente el orden, lo que podría ser importante. –