3.7 KiB
3.7 KiB
Operador *
Casos de uso
- Multiplicación
- Potencia/Exponente
- Creacion de lista, tupla o string
- 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
- Fusionando diccionarios
Multiplicación
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
```python
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]
Desempaquetado en medio
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}