Articles of tuplas

Django – Cómo hacer el desempaquetado de la tupla en un bucle ‘for’ de plantilla

En mi views.py, estoy creando una lista de dos tuplas, donde el segundo elemento de la tupla es otra lista, como esta: [ Product_Type_1, [ product_1, product_2 ], Product_Type_2, [ product_3, product_4 ]] En el antiguo Python, podría iterar la lista de esta manera: for product_type, products in list: print product_type for product in products: […]

Python clasifica tuple por diferentes criterios

Tengo una lista a = [(1,’a’), (1,’b’), (2,’c’)] , y quiero obtener esta lista: [(2,’c’), (1,’a’), (1,’b’)] Si hago esto: sorted(a, reverse=True) Solo puedo conseguir: [(2,’c’), (1,’b’), (1,’a’)] ¿Cómo puedo obtener la lista que quiero?

¿Cuál es la mejor manera de crear claves de tuplas intercambiables para el mismo valor de diccionario?

def check(): dict_choice_a = {(a, b) : value, (b, a) : value} #(a, b) and (b, a) refer to the same value but repeted dict_choice_b = {tuple(sorted((a, b)) : value} #not repetitive but unreadable dict_choice_a[(a, b)] = new_value #need to do twice to change value but more readable than dict_choice_b dict_choice_a[(b, a)] = new_value #value […]

¿Utilizando el método index () de la lista de Python en una lista de tuplas u objetos?

El tipo de lista de Python tiene un método index () que toma un parámetro y devuelve el índice del primer elemento de la lista que coincide con el parámetro. Por ejemplo: >>> some_list = [“apple”, “pear”, “banana”, “grape”] >>> some_list.index(“pear”) 1 >>> some_list.index(“grape”) 3 ¿Existe una forma elegante (idiomática) de extender esto a las […]

Python: Tuples / diccionarios como claves, seleccionar, ordenar

Supongamos que tengo cantidades de frutas de diferentes colores, por ejemplo, 24 bananas azules, 12 manzanas verdes, 0 fresas azules, etc. Me gustaría organizarlos en una estructura de datos en Python que permita una fácil selección y clasificación. Mi idea fue ponerlas en un diccionario con tuplas como claves, por ejemplo, { (‘banana’, ‘blue’ ): […]

Convertir una lista en una secuencia de cadenas triples

Me gustaría convertir una lista como: [“Red”, “Green”, “Blue”] en una secuencia de tuplas de cuerdas triples: [(“RED”, “Red”, “”), (“GREEN”, “Green”, “”), (“BLUE”, “Blue”, “”)] Hasta ahora siempre uso este método: def list_to_items(lst): items = [] for i in lst: items.append((i.upper(), i, “”)) return items Pero se siente un poco feo. ¿Hay una manera […]

¿Hay alguna forma de obtener la diferencia y la intersección de tuplas o listas en Python?

Si tengo listas: a = [1, 2, 3, 4, 5] b = [4, 5, 6, 7, 8] c = a * b debería darme c = [4, 5] y c = a – b debería darme c = [1, 2, 3] ¿Está disponible para Python o tengo que escribirlo yo mismo? ¿Funcionaría igual para las […]

Cuenta la frecuencia del artículo en una lista de tuplas

Tengo una lista de tuplas como se muestra a continuación. Tengo que contar cuántos artículos tienen un número mayor que 1. El código que he escrito hasta ahora es muy lento. Incluso si hay alrededor de 10K tuplas, si ves debajo la cadena de ejemplo aparece dos veces, entonces tengo que obtener ese tipo de […]

argumentos lambda desempaquetan error

En Python 2 este código está bien: f = lambda (m, k): m + k m = [1,2,3,4] k = [5,6,7,8] print(map(f, zip(m, k))) pero en Python 3 ocurrió el siguiente error: f = lambda (m, k): m + k ^ SyntaxError: invalid syntax Si elimino paréntesis en la expresión lambda, se produjo otro error: […]

Suma los números por letras en la lista de tuplas

Tengo una lista de tuplas: [ (‘A’,100), (‘B’,50), (‘A’,50), (‘B’,20), (‘C’,10) ] Estoy tratando de resumir todos los números que tienen la misma letra. Es decir quiero salir [(‘A’, 150), (‘B’, 70), (‘C’,10)] He intentado usar el conjunto para obtener los valores únicos, pero luego, cuando bash comparar los primeros elementos con el conjunto, obtengo […]