Articles of lista comprensión

Creando diccionarios de diccionarios en python 2.6

Tengo una línea de código en python2.7 que genera un diccionario de diccionarios vacíos: values=[0,1,2,4,5,8] value_dicts={x:{} for x in values} que lanza un error de syntax cuando se ejecuta en python2.6. Puedo hacer lo mismo usando un bucle for: values_dicts={} values=[0,1,2,4,5,8] for value in values : values_dicts[value]={} values_dicts Out[25]: {0: {}, 1: {}, 2: {}, […]

Comprehending List Comprehensions

Recientemente he sido introducido a listas de comprensión, sin embargo, no estoy seguro de que las entiendo completamente. Por lo tanto, hice una búsqueda rápida a través de los documentos y Google. Encontré la sección de documentos sobre estructuras de datos. https://docs.python.org/2/tutorial/datastructures.html Si bien eso me da una idea de cómo funcionan, llámeme extraño, quiero […]

Expresión ternaria en la comprensión del diccionario.

Estoy tratando de invertir un diccionario. En el caso de que muchas claves tengan el mismo valor, la nueva clave (valor antiguo) debe asociarse con un conjunto de los nuevos valores (claves antiguas). Resolví el problema, pero estoy tratando de refactorizar utilizando la comprensión del diccionario y algunos métodos de ayuda. def has_unique_value(k): return d.values().count(d[k]) […]

Python: ¿Por qué la comprensión de la lista es más lenta que para el bucle?

Esencialmente, estas son las mismas funciones, excepto que la comprensión de lista utiliza la sum lugar de x=0; x+= x=0; x+= ya que el último no es compatible. ¿Por qué la comstackción de listas es algo 40% más lenta? #list comprehension def movingAverage(samples, n=3): return [float(sum(samples[ij] for j in range(n)))/n for i in range(n-1, len(samples))] […]

Python: ¿Se evalúa la función de división varias veces en una lista de comprensión?

Hay algo que me he estado preguntando por un tiempo. ¿La división se ejecuta una o varias veces en esta lista de comprensión? l = [line.split()[i] for i in indexes] Actualmente hago una lista de comprensiones como estas de esta manera: l = line.rstrip().split() l = [l for i in indexes] Pero no estoy seguro, […]

¿Comprensión de lista para la operación Loop + Ternaria para Loop?

Creo que entiendo listas de comprensión y operación ternaria, y entiendo que puedo combinar las dos, como se ve aquí . Mi pregunta involucra la combinación de las dos expresiones dentro de una lista de comprensión. Por ejemplo, si tengo la siguiente lista: lst = [‘word’,’word’,’multiple words’,’word’] y quiero modificar esa lista en una sola […]

Usar automáticamente la comprensión de lista / mapa () recursiva si a una función se le asigna una lista

Como usuario de Mathematica, me gustan las funciones que automáticamente “suben a través de listas” (como la gente de Mathematica lo llama, consulte http://reference.wolfram.com/mathematica/ref/Listable.html ). Eso significa que si a una función se le da una lista en lugar de un solo valor, automáticamente utiliza cada entrada de la lista como un argumento y devuelve […]

Elemento duplicado en la lista de python

Tengo una list en Python: l = [‘a’, ‘c’, ‘e’, ‘b’] Quiero duplicar cada elemento inmediatamente al lado del original. ll = [‘a’, ‘a’, ‘c’, ‘c’, ‘e’, ‘e’, ‘b’, ‘b’] El orden de los elementos debe ser preservado.

Lista de comprensión en Haskell, Python y Ruby.

Comencé a buscar en el sitio del proyecto Euler como una forma de aprender Haskell y mejorar mi Python y Ruby. Creo que las versiones de Haskell y Python están bien, pero estoy seguro de que debe haber una forma más limpia para Ruby. No se trata de cómo puedo hacer que un idioma se […]

¿Cómo utilizar la comprensión de lista para agregar un elemento a las copias de un diccionario?

dado: template = {‘a’: ‘b’, ‘c’: ‘d’} add = [‘e’, ‘f’] k = ‘z’ Quiero usar la lista de comprensión para generar [{‘a’: ‘b’, ‘c’: ‘d’, ‘z’: ‘e’}, {‘a’: ‘b’, ‘c’: ‘d’, ‘z’: ‘f’}] Sé que puedo hacerlo: out = [] for v in add: t = template.copy() t[k] = v out.append(t) pero es un […]