Me gusta la sintaxis de comprensión de la lista de Python. ¿Se puede usar para crear diccionarios también? Por ejemplo, iterando sobre pares de claves y valores: mydict = {(k,v) for (k,v) in blah blah blah} # doesn't
Una construcción sintáctica que proporciona una forma concisa de crear listas en un estilo similar a la notación matemática del constructor de conjuntos. Dado que varios idiomas admiten listas por comprensión, utilice esta etiqueta junto con la etiqueta de un lenguaje de programación.
Me gusta la sintaxis de comprensión de la lista de Python. ¿Se puede usar para crear diccionarios también? Por ejemplo, iterando sobre pares de claves y valores: mydict = {(k,v) for (k,v) in blah blah blah} # doesn't
¿Cómo puedo hacer lo siguiente en Python? row = [unicode(x.strip()) for x in row if x is not None else ''] Esencialmente: reemplace todos los Nones con cadenas vacías, y luego cumplir una
¿Hay alguna razón para preferir el uso de la map()comprensión de la lista o viceversa? ¿Alguno de ellos es generalmente más eficiente o generalmente considerado más pitónico que el
Quiero crear una serie de listas, todas de diferentes longitudes. Cada lista contendrá el mismo elemento e, repetidas nveces (donde n= longitud de la lista). ¿Cómo creo las listas, sin usar una comprensión de lista [e for number in xrange(n)]para cada
¿Cuándo debería usar expresiones generadoras y cuándo debería usar las comprensiones de listas en Python? # Generator expression (x*2 for x in range(256)) # List comprehension [x*2 for x in
¿Es posible crear una comprensión de diccionario en Python (para las claves)? Sin listas de comprensión, puede usar algo como esto: l = [] for n in range(1, 11): l.append(n) Podemos acortar este a una lista por comprensión: l = [n for n in range(1, 11)]. Sin embargo, supongamos que quiero...
Como todos sabemos, hay una lista de comprensión, como [i for i in [1, 2, 3, 4]] y hay comprensión del diccionario, como {i:j for i, j in {1: 'a', 2: 'b'}.items()} pero (i for i in (1, 2, 3)) terminará en un generador, no en una tuplecomprensión. ¿Porqué es eso? Supongo que a tuplees...
Tengo una lista de longitud variable y estoy tratando de encontrar una manera de probar si el elemento de la lista que se está evaluando actualmente es la cadena más larga contenida en la lista. Y estoy usando Python 2.6.1 Por ejemplo: mylist = ['abc','abcdef','abcd'] for each in mylist: if...
En Python puedes tener múltiples iteradores en una lista de comprensión, como [(x,y) for x in a for y in b] para algunas secuencias adecuadas a y b. Soy consciente de la semántica de bucle anidado de las comprensiones de listas de Python. Mi pregunta es: ¿puede un iterador en la comprensión...
Tengo esta lista anidada: l = [['40', '20', '10', '30'], ['20', '20', '20', '20', '20', '30', '20'], ['30', '20', '30', '50', '10', '30', '20', '20', '20'], ['100', '100'], ['100', '100', '100', '100', '100'], ['100', '100', '100', '100']] Ahora, lo que quiero hacer es convertir cada elemento en...
Teniendo un iteratorobjeto, ¿hay algo más rápido, mejor o más correcto que una comprensión de lista para obtener una lista de los objetos devueltos por el iterador? user_list = [user for user in
Se trata más de la sintaxis de comprensión de la lista de Python. Tengo una lista de comprensión que produce una lista de números impares de un rango dado: [x for x in range(1, 10) if x % 2] Esto hace un filtro: tengo una lista de origen, donde elimino los números pares ( if x % 2). Me gustaría...
¿Cómo se accede a otras variables de clase desde una comprensión de lista dentro de la definición de clase? Lo siguiente funciona en Python 2 pero falla en Python 3: class Foo: x = 5 y = [x for i in range(1)] Python 3.2 da el error: NameError: global name 'x' is not defined Intentar...
En términos de rendimiento en Python, ¿es una lista de comprensión, o funciones similares map(), filter()y reduce()más rápida que un bucle for? ¿Por qué, técnicamente, se ejecutan en una velocidad C , mientras que el bucle for se ejecuta en la velocidad de la máquina virtual de Python ? Supongamos...
Estoy tratando de crear un diccionario a partir de un archivo csv. La primera columna del archivo csv contiene claves únicas y la segunda columna contiene valores. Cada fila del archivo csv representa una clave única, un par de valores dentro del diccionario. Traté de usar las clases...
Supongamos que tengo una lista como esta: mylist = ["a","b","c","d"] Para obtener los valores impresos junto con su índice, puedo usar la enumeratefunción de Python como esta >>> for i,j in enumerate(mylist): ... print i,j ... 0 a 1 b 2 c 3 d >>> Ahora, cuando trato de usarlo...
Tengo una lista de comprensión en Python en la que cada iteración puede generar una excepción. Por ejemplo , si tengo: eggs = (1,3,0,3,2) [1/egg for egg in eggs] Obtendré una ZeroDivisionErrorexcepción en el tercer elemento. ¿Cómo puedo manejar esta excepción y continuar la ejecución de la...
Las comprensiones están teniendo algunas interacciones inesperadas con el alcance. ¿Es este el comportamiento esperado? Tengo un método: def leave_room(self, uid): u = self.user_by_id(uid) r = self.rooms[u.rid] other_uids = [ouid for ouid in r.users_by_id.keys() if ouid != u.uid] other_us =...
Me gustaría saber si hay una mejor manera de imprimir todos los objetos en una lista de Python que esta: myList = [Person("Foo"), Person("Bar")] print("\n".join(map(str, myList))) Foo Bar Leo de esta manera no es muy bueno: myList = [Person("Foo"), Person("Bar")] for p in myList: print(p) ¿No...
Piense en una función a la que estoy llamando por sus efectos secundarios, no por devolver valores (como imprimir en pantalla, actualizar GUI, imprimir en un archivo, etc.). def fun_with_side_effects(x): ...side effects... return y Ahora, ¿es Pythonic usar listas por comprensión para llamar a...