Articles of list comprension

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 […]

Lista de comprensión de Python vs .NET LINQ

El siguiente código LINQ simple string[] words = { “hello”, “wonderful”, “linq”, “beautiful”, “world” }; // Get only short words var shortWords = from word in words where word.Length <= 5 select word; // Print each word out shortWords.Dump(); se puede traducir a python utilizando la comprensión de lista de la siguiente manera. words = […]