Articles of algoritmos de

fusionar conjuntos que tienen incluso un elemento en común

Posible duplicado: Python: fusión simple de la lista basada en intersecciones Estoy tratando de clasificar los objetos. Cada objeto se identifica mediante una propiedad de identificador único llamada id . Así que mi lógica de clasificación es la siguiente. Primero preparo una lista de objetos y luego la función de clasificación toma 2 objetos a […]

Python – Eliminar listas superpuestas

Digamos que tengo una lista de listas que tiene índices [[start, end], [start1, end1], [start2, end2]] . Como por ejemplo : [[0, 133], [78, 100], [25, 30]] . ¿Cómo obtendría la verificación de la superposición entre las listas y eliminar la lista con la longitud más larga cada vez? Asi que: >>> list = [[0, […]

Encuentra elementos no comunes en las listas.

Estoy tratando de escribir un fragmento de código que puede factorizar automáticamente una expresión. Por ejemplo, si tengo dos listas [1,2,3,4] y [2,3,5], el código debería poder encontrar los elementos comunes en las dos listas, [2,3], y combinar El rest de los elementos se juntan en una nueva lista, siendo [1,4,5]. De este post: ¿Cómo […]

Un conjunto de algoritmos de búsqueda de unión.

Tengo miles de líneas de 1 a 100 números, cada línea define un grupo de números y una relación entre ellos. Necesito obtener los conjuntos de números relacionados. Pequeño ejemplo: Si tengo este 7 líneas de datos T1 T2 T3 T4 T5 T6 T1 T5 T4 T3 T4 T7 Necesito un algoritmo no tan lento […]

Python: Para cada elemento de la lista, aplique una función en la lista.

Dado [1,2,3,4,5] , ¿cómo puedo hacer algo como? 1/1, 1/2, 1/3,1/4,1/5, …., 3/1,3/2,3/3,3/4,3/5,…. 5/1,5/2,5/3,5/4,5/5 Me gustaría almacenar todos los resultados, encontrar el mínimo y devolver los dos números utilizados para encontrar el mínimo. Entonces, en el caso que he descrito arriba, me gustaría regresar (1,5) . Así que básicamente me gustaría hacer algo como para […]

Progtwig Python para dividir una lista en dos listas con elementos alternos

¿Puedes hacerlo más simple / elegante? def zigzag(seq): “””Return two sequences with alternating elements from `seq`””” x, y = [], [] p, q = x, y for e in seq: p.append(e) p, q = q, p return x, y Salida de muestra: >>> zigzag(‘123456’) ([‘1’, ‘3’, ‘5’], [‘2’, ‘4’, ‘6’])

Tamiz de Eratóstenes – Primes entre X y N

Encontré esta implementación altamente optimizada del Tamiz de Eratóstenes para Python en Stack Overflow. Tengo una idea aproximada de lo que está haciendo, pero debo admitir que los detalles de su funcionamiento me eluden. Todavía me gustaría usarlo para un pequeño proyecto (sé que hay bibliotecas para hacer esto, pero me gustaría usar esta función). […]

¿Cómo encontrar el número primo más cercano en una matriz, a otro número en esa matriz?

Quería averiguar el número primo más cercano (que está presente en esa matriz), a cualquier otro número en la matriz? Ejemplo: list a -> [1,2,4,6,8,12,9,5,0,15,7] Entonces, el número primo más cercano a 4 sería 2 y en el caso de 15 sería 7 . Aquí estoy asumiendo que cada elemento de la lista es distinto. […]

Python: conjunto de potencias de un conjunto dado con generadores

Estoy tratando de construir una lista de subconjuntos de un conjunto dado en Python con generadores . Di que tengo set([1, 2, 3]) como entrada, debería tener [set([1, 2, 3]), set([2, 3]), set([1, 3]), set([3]), set([1, 2]), set([2]), set([1]), set([])] como salida ¿Cómo puedo conseguir esto?

Comprobando si todos los elementos en una lista son únicos

¿Cuál es la mejor manera (mejor que la convencional) de verificar si todos los elementos de una lista son únicos? Mi enfoque actual usando un Counter es: >>> x = [1, 1, 1, 2, 3, 4, 5, 6, 2] >>> counter = Counter(x) >>> for values in counter.itervalues(): if values > 1: # do something […]