Qual é a diferença entre os métodos de lista anexar e estender
-
Python List
append
Método -
Python List
extend
Método -
Conclusão da diferença entre
append
eextend
na lista Python
Este artigo introduz a diferença entre os métodos append
e extend
de lista em Python.
Python List append
Método
append
adiciona o objeto ao final da lista. O objeto pode ser qualquer tipo de dado em Python, como objeto de lista, dicionário ou classe.
>>> A = [1, 2]
>>> A.append(3)
>>> A
[1, 2, 3]
>>> A.append([4, 5])
>>> A
[1, 2, 3, [4, 5]]
O comprimento da lista aumentará em um após o append
ter sido feito.
Python List extend
Método
extend
estende a lista, anexando elementos do argumento iterável. Iteratiza sobre o argumento e depois adiciona cada elemento à lista. O argumento dado deve ser do tipo iterável, como a lista, caso contrário ele irá aumentar o TypeError
.
>>> A = [1, 2]
>>> A.extend(3)
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
A.extend(3)
TypeError: 'int' object is not iterable
Se você quiser adicionar 3
ao final da lista, você deve primeiro colocar o 3
em uma nova lista.
>>> A = [1, 2]
>>> A.extend([3])
>>> A
[1, 2, 3]
O método extend
itera os elementos no objeto iterável e então adiciona um a um ao final da lista.
>>> A = [1, 2]
>>> A.extend([3, 4])
>>> A
[1, 2, 3, 4]
Python extend
tipo string
Esteja ciente de que quando o objeto dado é do tipo string
, ele irá anexar cada caractere da string à lista.
>>> A = ["a", "b"]
>>> A.extend("cde")
>>> A
['a', 'b', 'c', 'd', 'e']
Conclusão da diferença entre append
e extend
na lista Python
append
adiciona o objeto dado ao final da lista, portanto o comprimento da lista aumenta apenas em 1*.
Por outro lado, extend
adiciona todos os elementos do objeto dado ao final da lista, portanto o comprimento da lista aumenta de acordo com o comprimento do objeto dado.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook