Articles of list comprension

¿Las listas de comprensión son sintácticas de azúcar para `list (expresión del generador)` en Python 3?

En Python 3, ¿una comprensión de lista es simplemente azúcar sintáctica para una expresión generadora incorporada a la función de list ? Por ejemplo, es el siguiente código: squares = [x**2 for x in range(1000)] en realidad convertido en el fondo en el siguiente? squares = list(x**2 for x in range(1000)) Sé que la salida […]

Equivalente para expresión en bucle para comprensión de lista compleja

La siguiente statement de comprensión de la lista de Python podría reformularse como el siguiente bucle for. >>> [(x,y) for x in range(5) if x % 2 == 0 for y in range(5) if y % 2 == 1] >>> result = [] >>> for x in range(5): if x % 2 == 0: for […]

¿Cómo funciona la iteración de listas de listas en Python?

Tengo una lista de esta lista: lst = [[1, 2, 3, 4, 5, 6], [4, 5, 6], [7], [8, 9]] Si ejecuto estos, obtendré una salida como esta. No entiendo cómo funcionan. >>>[j for i in lst for j in i] [1, 2, 3, 4, 5, 6, 4, 5, 6, 7, 8, 9] >>>[j for […]

Zip como una lista de comprensión

Tengo una lista bastante reciente de datos como este: data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] Estoy tratando de comprimirlo para que obtenga algo como esto: zipped_data = [(1, 4, 7), (2, 5, 8), (3, 6, 9)] Sé que podría hacer eso con l = [(data[0]), (data[1]), (data[2])] zipped_data = zip(*l) […]

¿Por qué esta lista de comprensión es más rápida que la expresión del generador equivalente?

Estoy usando Python 3.3.1 de 64 bits en Windows y este fragmento de código: len ([None for n in range (1, 1000000) if n%3 == 1]) Se ejecuta en 136 ms, comparado con este: sum (1 for n in range (1, 1000000) if n%3 == 1) Que se ejecuta en 146ms. ¿No debería una expresión […]

Devolver subconjunto de lista que coincide con la condición

Digamos que tengo una lista de int s: listOfNumbers = range(100) Y quiero devolver una lista de los elementos que cumplen una determinada condición, digamos: def meetsCondition(element): return bool(element != 0 and element % 7 == 0) ¿Cuál es una forma Pythonic de devolver una sub- list de elementos en una list para la cual […]

Cómo encuadrar dos para bucles en la lista de comprensión Python

Tengo dos listas como abajo tags = [u’man’, u’you’, u’are’, u’awesome’] entries = [[u’man’, u’thats’],[ u’right’,u’awesome’]] Quiero extraer entradas de las entries cuando están en las tags : result = [] for tag in tags: for entry in entries: if tag in entry: result.extend(entry) ¿Cómo puedo escribir los dos bucles como una sola lista de […]

Encontrar números primos usando la lista de comprensión

Estaba intentando generar todos los números primos en el rango de x a y. Primero probé el ejemplo simple: range(10,11) que significa verificar si 10 es un número primo: Aquí está mi código: prime_list = [x for x in range(10, 11) for y in range(2,x) if x % x == 0 and x % 1 […]

¿Por qué a Pylint no le gustan las funciones integradas?

Tengo una línea como esta: filter(lambda x: x == 1, [1, 1, 2]) Pylint está mostrando una advertencia: W: 3: Used builtin function ‘filter’ ¿Porqué es eso? ¿Es una lista de comprensión el método recomendado? Por supuesto que puedo reescribir esto así: [x for x in [1, 1, 2] if x == 1] Y no […]

Creando una lista de Python con un if y break

¿Es posible convertir este código en una lista de comprensión? for i in userInput: if i in wordsTask: a = i break Sé cómo convertir parte de ella: [i for i in userInput if i in wordsTask] Pero no sé cómo agregar el descanso, y la documentación no ha sido de mucha ayuda. Cualquier ayuda […]