Articles of lista comprensión

Operadores de mapas extraídos de la subcadena

Tengo una list of dict : print (L) [{0: ‘x==1’, 1: ‘y==2’, 2: ‘z!=1’}, {0: ‘x==1’, 1: ‘y1’}] Quiero crear tuplas con valor antes que operadores, operadores y valor después: #first step wanted = [[(‘x’, ‘==’, ‘1’), (‘y’, ‘==’, ‘2’), (‘z’, ‘!=’, ‘1’)], [(‘x’, ‘==’, ‘1’), (‘y’, ”, ‘1’)]] Y luego mapear segundo valor por […]

Comprensión de lista anidada con os.walk

Intentar enumerar todos los archivos en un directorio determinado (como ‘buscar’ en Linux o ‘dir / s / b’ en Windows). Se me ocurrió la siguiente lista de comprensión anidada: from os import walk from os.path import join root = r’c:\windows’ #choose any folder here allfiles = [join(root,f) for f in files for root,dirs,files in […]

Python: lista de comprensión compleja donde una var depende de otra (x para x en t para t en las pruebas)

Quiero hacer algo como: all = [ x for x in t[1] for t in tests ] las pruebas se ve como [ (“foo”,[a,b,c]), (“bar”,[d,e,f]) ] Así que quiero tener el resultado. all = [a,b,c,d,e,f] Mi código no funciona, Python dice: UnboundLocalError: local variable ‘t’ referenced before assignment ¿Hay alguna manera simple de hacer eso?

¿Cómo extraer elementos de sublistas en una comprensión de una línea en python?

Actualmente estoy aprendiendo el concepto de comprensión de listas en python. Sin embargo, tengo grandes problemas cuando la lista sobre la que estoy iterando contiene sublistas de igual o diferente duración. Por ejemplo, me gustaría convertir el código para union_set() en una comprensión de una línea: def union_set(L): S_union = set() for i in range(len(L)): […]

¿Cómo funciona todo () en python en listas vacías?

Me refiero al siguiente código python all(a==2 for a in my_list) Espero que el código anterior devuelva True si todos los elementos en my_list son 2. pero cuando hago my_list vacío y lo ejecuto como my_list = [] all(a==2 for a in my_list) devuelve True también. Estoy confundido con este comportamiento. ¿No se supone que […]

Python: la sum no funciona en la syntax de la lista de comprensión si la fuente es el archivo

Soy un novato en Python y estoy estudiando la comprensión de la lista. Lo que estoy tratando de hacer es convertir el siguiente código en una lista de comprensión: def words_without_e(): count = 0 words = open(‘words.txt’) for word in words: if word.find(‘e’) == -1: count += 1 words.close() return count Aquí está mi débil […]

¿Es posible agregar una cláusula where con comprensión de lista?

Considere la siguiente lista de comprensión [ (x,f(x)) for x in iterable if f(x) ] Esto filtra la condición basada en una condición f y devuelve los pares de x,f(x) . El problema con este enfoque es que f(x) se calcula dos veces. Sería genial si pudiéramos escribir como [ (x,fx) for x in iterable […]

Prefijo prefijo para listar elementos con comprensión de lista

Teniendo una lista como esta: [‘foo’,’spam’,’bar’] ¿Es posible, usando la comprensión de lista, obtener esta lista como resultado? [‘foo’,’ok.foo’, ‘spam’, ‘ok.spam’, ‘bar’, ‘ok.bar’]

Función con argumentos en dos listas.

Tengo dos listas xscat y yscat. Me gustaría que la lista de comprensión recoja x e y en xscat y yscat respectivamente. La lista resultante debe contener peaks([x[0], y[0]]), peaks([x[1], y[1]]) , etc. xscat=yscat=[-1, -1.5,5] [peaks([x,y]) for x,y in xscat,yscat] ¿Puedes encontrar alguna solución usando comprensiones? u otras formas de ponerlo (mapa)?

Si statement en la lista de comprensión con lambda

yo tengo listName = [[0,1,2,15,16,17,2,3,4,6,8,9]] Mi linea de codigo [list(g) for k, g in groupby(listName, key=lambda i,j=count(): i-next(j))] está dividiendo listName en [[0,1,2],[15,16,17],[2,3,4],[6,8,9]] Quiero que la división ocurra solo si el siguiente número es menor que el número anterior. es decir, quiero que mi listName de lista se divida en [[0,1,2,15,16,17],[2,3,4,6,8,9]] ¡Gracias! 🙂