Articles of lista comprensión

Forma Pythonic para revertir diccionarios nesteds

Tengo un diccionario nested de personas y valoraciones de artículos, con personas como la clave. Las personas pueden o no pueden compartir artículos. Ejemplo: { ‘Bob’ : {‘item1’:3, ‘item2’:8, ‘item3’:6}, ‘Jim’ : {‘item1’:6, ‘item4’:7}, ‘Amy’ : {‘item1′:6,’item2′:5,’item3′:9,’item4’:2} } Estoy buscando la forma más sencilla de cambiar estas relaciones y tener un nuevo diccionario nested con […]

¿Cómo fusiono una matriz 2D en Python en una cadena con List Comprehension?

La comprensión de lista para mí parece ser como el bloque opaco de granito que las expresiones regulares son para mí. Necesito punteros. Digamos, tengo una lista 2D: li = [[0,1,2],[3,4,5],[6,7,8]] Me gustaría fusionar esto en una larga lista li2 = [0,1,2,3,4,5,6,7,8] o en una cadena con separadores: s = “0,1,2,3,4,5,6,7,8” Realmente, me gustaría saber […]

¿Por qué aparece UnboundLocalError en la segunda variable de la comprensión plana?

Respondí una pregunta aquí: la lista de comprensión en python2 funciona bien pero me sale un error en python3 El error de OP estaba usando las mismas variables para el rango máximo y los índices: x = 12 y = 10 z = 12 n = 100 ret_list = [ (x,y,z) for x in range(x+1) […]

Posible devolver dos listas de una lista de comprensión?

¿Es posible devolver dos listas de una lista de comprensión? Bueno, esto obviamente no funciona, pero algo como: rr, tt = [i*10, i*12 for i in xrange(4)] Entonces rr y tt son listas con los resultados de i*10 y i*12 respectivamente. Muchas gracias

Múltiples condiciones de IF en una lista de python

Me preguntaba, ¿es posible poner múltiples if condiciones en una lista de comprensión? No encontré nada como esto en los documentos. Quiero poder hacer algo como esto ar=[] for i in range(1,n): if i%4 == 0: ar.append(‘four’) elif i%6 == 0: ar.append(‘six’) else: ar.append(i) utilizando una lista de comprensión. ¿Cómo puedo hacerlo? ¿Es esto posible? […]

Comprensión de lista: ¿por qué es esto un error de syntax?

¿Por qué la print(x) aquí no es válida ( SyntaxError ) en la siguiente lista de comprensión? my_list=[1,2,3] [print(my_item) for my_item in my_list] Para contrastar, lo siguiente no da un error de syntax: def my_func(x): print(x) [my_func(my_item) for my_item in my_list]

convertir la cadena a dict utilizando lista de comprensión

Me he encontrado con este problema unas cuantas veces y parece que no puedo encontrar una solución simple. Di que tengo una cuerda string = “a=0 b=1 c=3” Quiero convertir eso en un diccionario con a, byc siendo la clave y 0, 1 y 3 siendo sus valores respectivos (convertidos a int). Obviamente puedo hacer […]

¿Cómo conseguir la unión de dos listas utilizando la comprensión de listas?

Considere las siguientes listas: a = [‘Orange and Banana’, ‘Orange Banana’] b = [‘Grapes’, ‘Orange Banana’] Cómo obtener el siguiente resultado: c = [‘Orange and Banana’, ‘Orange Banana’, ‘Grapes’]

Llame a la lista de funciones usando la lista de comprensión.

¿Puedo llamar a una lista de funciones y usar la comprensión de lista? def func1():return 1 def func2():return 2 def func3():return 3 fl = [func1,func2,func3] fl[0]() fl[1]() fl[2]() Se que puedo hacer for f in fl: f() pero puedo hacer a continuación? [f() for f in fl] Una pregunta adicional para esas personas amables, si […]

Cómo insertar en la lista anidada de python

Quiero insertar un elemento en una lista dentro de una lista. Me pregunto si alguien me puede mostrar. list5 = [[], [(1,2,3,4), 2, 5]] print(“1. list5”, list5) list5.insert(0, (2,5,6,8)) print(“2. list5”, list5) Output: 1. list5 [[], [(1, 2, 3, 4), 2, 5]] 2. list5 [(2, 5, 6, 8), [], [(1, 2, 3, 4), 2, 5]] […]