109 lines
3.3 KiB
Python
109 lines
3.3 KiB
Python
|
#!/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()
|