Articles of algoritmos de

Algoritmo de Python para el área contenida en la matriz (gráfico)

Preparar: Visualice una gran variedad de números donde cada número representa la altura de una barra en un gráfico de barras. Ej: [5, 4, 3, 7, 2, 3, 1, 12] █ █ █ █ █ █ █ █ █ █ █ █ ██ █ █ ████ █ █ ██████ █ ████████ Analizar: Este es el […]

python – representando expresiones booleanas con listas

Estoy tratando de representar expresiones booleanas en forma de sum de productos (SOP) en Python con solo listas. Por ejemplo, tengo expresión booleana. ABC+DE(FG+IH) Necesito encontrar una lista equivalente a la expresión anterior, así que al leer la lista o la lista anidada y seguir ciertas reglas para leer la lista, el progtwig / progtwigdor […]

Filtrar elementos que solo aparecen una vez en una lista muy grande

Tengo una lista grande (más de 1,000,000 de artículos), que contiene palabras en inglés: tokens = [“today”, “good”, “computer”, “people”, “good”, … ] Me gustaría obtener todos los elementos que aparecen solo una vez en la lista. ahora estoy usando: tokens_once = set(word for word in set(tokens) if tokens.count(word) == 1) pero es muy lento […]

Dividiendo nodos conectados en grupos de tres

Tengo una colección de objetos (los llamaré nodos) que están conectados entre sí. Cada nodo está conectado al menos a otro nodo, y la colección completa de nodos es un gran blob (sin valores atípicos). El número de nodos es un múltiplo de tres. Lo que quiero hacer es dividir los nodos en grupos de […]

Manipulación eficiente de una lista de coordenadas cartesianas en Python

Fondo: Estoy escribiendo un progtwig que maneja grandes cantidades de datos relacionados con las redes de vértices de varias formas regulares. Tengo un generador de trabajo que produce una lista de coordenadas cartesianas correspondientes a los vértices de dichas formas en función de un rango de parámetros de entrada del usuario. Luego, los datos se […]

¿Cómo puedo encontrar la intersección de dos archivos grandes de manera eficiente utilizando Python?

Tengo dos archivos grandes. Su contenido se ve así: 134430513 125296589 151963957 125296589 El archivo contiene una lista de ids sin clasificar. Algunos identificadores pueden aparecer más de una vez en un solo archivo. Ahora quiero encontrar la parte de la intersección de dos archivos. Es decir, los identificadores aparecen en ambos archivos. Acabo de […]

¿Cómo dividir un conjunto de rangos superpuestos en rangos no superpuestos?

Digamos que tienes un conjunto de rangos: 0 – 100: ‘a’ 0 – 75: ‘b’ 95 – 150: ‘c’ 120 – 130: ‘d’ Obviamente, estos rangos se superponen en ciertos puntos. ¿Cómo diseccionaría estos rangos para producir una lista de rangos no superpuestos, mientras retiene la información asociada con su rango original (en este caso, […]

¿Convertir la lista de N artículos a orden relativa (0- (N-1))?

Por ejemplo, si tengo una lista de elementos distintos: L = [100,55,104,400] Los ordenamientos “relativos” pueden ser reexpresados: R = [1,0,2,3] No estoy seguro de cómo convertir L en R. Al principio, simplemente intenté restar min (L) de todo, pero eso no “comprime” las cosas en un orden relativo. Estoy buscando una solución eficiente (no […]

¿Por qué mi Criba de Eratóstenes es tan lenta?

Estoy resolviendo algunos problemas en el Proyecto Euler y tuve que generar 2 millones de números primos para resolver un problema. Mi implementación del Tamiz de Eratóstenes resultó ser extremadamente lenta pero no sé muy bien por qué. ¿Podría alguien explicar los principales problemas con esta implementación? Pensé que era muy bonito, y luego me […]

Python- Cuenta cada letra en una lista de palabras

Así que tengo una lista de palabras `wordList = list (). ‘ En este momento, estoy contando cada letra en cada una de las palabras en toda la lista usando este código cnt = Counter() for words in wordList: for letters in words: cnt[letters]+=1 Sin embargo, quiero que cuente de manera diferente. Quiero que la […]