TypeError Traceback (most recent call last) in () 2 3 for elemento in lista: ----> 4 print(f'O elemento {elemento} é do tipo: ', type(elemento))
TypeError: 'list' object is not callable
TypeError Traceback (most recent call last) in () 2 3 for elemento in lista: ----> 4 print(f'O elemento {elemento} é do tipo: ', type(elemento))
TypeError: 'list' object is not callable
Esse erro pode se dar quando você tenta usar uma lista como se fosse uma função, por exemplo lista().
Espero que ajude de alguma forma :)
Opa, só pra corrigir uma coisa, em python você pode chamar uma lista como função sim, se você der print(list())
você vai ter uma lista vazia, o bug em quêstão é por atribuir o nome list
a qualquer outra coisa, o que faz com que você não consiga mais usar as propriedades da função list
builtin, graças ao list
agora estar apontando pra outra coisa na memoria.
Se eu digo:
list = "isso é uma lista"
print(list)
>>>isso é uma lista
Vai funcionar, mas agora list
não é mais uma função então se eu tentar fazer list(abc)
vai dar erro
list = "isso é uma lista"
print(list("abc"))
Traceback (most recent call last):
File "C:\Users\Luige\PycharmProjects\aluraDev\obeflix_back\tests.py", line 4, in <module>
print(list("abc"))
TypeError: 'str' object is not callable
No meu caso falou que 'str' não é chamavel no lugar de 'list' porquê eu atribui meu list
a uma string
mas se eu atribuisse a uma lista iria dizer TypeError: 'list' object is not callable
.
O que deixa uma curiosidade legal, da pra você recriar a função de lista como você quiser, no meu caso eu fiz um exemplo simples que faz continuar funcionando mas perde todos os metodos como apend
e outros.
def list(index):
lista = []
for i in range(int(len(index))):
lista += index[i]
return lista
print(list("abc"))
>>> ['a', 'b', 'c']
Sim, eu estou não recriei o metodo de lista em si, eu só recriei a função então ainda tem como criar listas com []
, tanto que eu usei dentro da minha função mas muito provavelmente você consegue fazer 100% do 0 se quiser.