Olá pessoal
Ao passar uma lista como parâmetro para alguma função, a lista pode ser alterada 'globalmente' por essa função. Por exemplo:
def mudar_lista(lista):
lista[0] = 0
lista = [1,2,3,4,5]
mudar_lista(lista)
print(lista)
#resultado [0, 2, 3, 4, 5]
Porém, quando passo uma variável int por exemplo, ela é alterada apenas localmente.
def mudar_var(var):
var = 0
var = 10
mudar_var(var)
print(var)
#resultado 10
Porque isso acontece com as listas? Existem outros tipos que também podem ser alterados da mesma maneira?