#!/usr/bin/env python """ Casos de uso: - Multiplicacion - Exponente - Creacion de listas o tuplas con elementos repetidos - en *args, **kwargs y parametros llave valor (keywords) - Desempaquetando listas, tuplas o diccionarios en argumentos de funciones - Desempaquetando contenedores - Fusionando contenedor en una lista o diccionario """ # multiplicacion resultado = 5 * 5 print(resultado) # 25 # potencia resultado = 2 ** 3 print(resultado) # 8 # crear lista con elementos repetidos lista = [0, 1] * 10 print(lista) # [0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1] # crear tupla con elementos repetidos tupla = (0, 1) * 10 print(tupla) # (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1) # crear string con elementos repetidos cadena = "ER" * 10 print(cadena) # ERERERERERERERERERER # *args, **kwargs y parametros llave valor (keywords) def foo(a, b , *args, **kwargs): print(a) for arg in args: print(arg) for key in kwargs: print(key, kwargs[key]) foo(1,2,3,4,5,seis=6, siete="siete") # 1 # 3 # 4 # 5 # seis 6 # siete siete # Desempaquetando lista y tupla en argumentos de funcion def boo(a, b, c): print(a, b, c) lista = [0, 1, 2] boo(*lista) # 0 1 2 tupla = (0, 1, 2) boo(*tupla) # 0 1 2 # Desempaquetando diccionario en argumentos de funcion diccionario = {'a':1, 'b':2, 'c':'tres'} boo(**diccionario) # 1 2 tres # Desempaquetando contenedor, desempaqueta elementos # lista, tupla o set en elementos simples o multiples numeros = [1, 2, 3, 4, 5, 6] *comienzo, ultimo = numeros # lista con todos los elementos excepto el ultimo print(comienzo) # [1, 2, 3, 4, 5] # ultimo elemento de la lista print(ultimo) # 6 # Siempre desempaqueta como lista numeros = (1, 2, 3, 4, 5, 6) comienzo, *ultimos = numeros print(comienzo) # 1 print(ultimos) # [2, 3, 4, 5, 6] # otro ejemplo primero, segundo, *intermedios, penultimo, ultimo = numeros print(primero) # 1 print(segundo) # 2 print(intermedios) # [3, 4] print(penultimo) # 5 print(ultimo) # 6 # Fusionando contenedor en una lista, tupla y set lista = [1,2,3] tupla = (4,5,6) set_ = {7,8,9} lista2 = [*lista, *tupla, *set_] tupla2 = (*lista, *tupla, *set_) set_2 = {*lista, *tupla, *set_} print(lista2) # [1, 2, 3, 4, 5, 6, 8, 9, 7] print(tupla2) # (1, 2, 3, 4, 5, 6, 8, 9, 7) print(set_2) # {1, 2, 3, 4, 5, 6, 7, 8, 9} # Fusionando diccionarios dicc_a = {'a':1, 'b':2} dicc_b = {'c':3, 'd':4} dicc_c = {**dicc_a, **dicc_b} print(dicc_c) # {'a': 1, 'b': 2, 'c': 3, 'd': 4} if __name__ == '__main__': main()