Per afegir un element a una llista (matriu) de tipus llista en Python, o per combinar una altra llista, utilitzeu els mètodes de llista append(), extend() i insert(). També podeu utilitzar l’operador + o la secció per especificar una posició i assignar-la.
La informació següent es proporciona aquí.
- Afegiu elements al final:
append()
- Combina una altra llista o tupla al final (concatenació):
extend()
,+
operador - Afegeix (insereix) un element a la posició especificada.:
insert()
- Afegeix (insereix) una altra llista o tupla a la posició especificada:llesca
Afegiu elements al final:append()
Mitjançant el mètode append() de la llista, podeu afegir elements al final (últim). Si voleu afegir-lo a una posició diferent del final, com ara la part superior, utilitzeu insert() tal com es descriu a continuació.
l = list(range(3))
print(l)
# [0, 1, 2]
l.append(100)
print(l)
# [0, 1, 2, 100]
l.append('new')
print(l)
# [0, 1, 2, 100, 'new']
Les llistes també s’afegeixen com a element únic. No es combinen.
l.append([3, 4, 5])
print(l)
# [0, 1, 2, 100, 'new', [3, 4, 5]]
Combina una altra llista o tupla al final (concatenació):extend(),+operador
Amb el mètode de llista extend(), podeu combinar una altra llista o tupla al final (el final). Tots els elements s’afegiran al final de la llista original.
l = list(range(3))
print(l)
# [0, 1, 2]
l.extend([100, 101, 102])
print(l)
# [0, 1, 2, 100, 101, 102]
l.extend((-1, -2, -3))
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3]
Tingueu en compte que cada caràcter (element) s’afegeix a la cadena un caràcter a la vegada.
l.extend('new')
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w']
També és possible concatenar utilitzant l’operador + en comptes del mètode extend().
+, es retorna una llista nova.+=
Això també us permetrà afegir-lo a una llista existent.
l2 = l + [5, 6, 7]
print(l2)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]
l += [5, 6, 7]
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]
Afegeix (insereix) un element a la posició especificada.:insert()
El mètode de llista insert() pot afegir (inserir) un element en una posició especificada.
El primer argument especifica la posició i el segon argument especifica l’element que cal inserir. La primera posició (inicial) és 0; per a valors negatius, -1 és l’última posició (final).
l = list(range(3))
print(l)
# [0, 1, 2]
l.insert(0, 100)
print(l)
# [100, 0, 1, 2]
l.insert(-1, 200)
print(l)
# [100, 0, 1, 200, 2]
Igual que amb append(), la llista s’afegeix com un sol element. No es fusionarà.
l.insert(0, [-1, -2, -3])
print(l)
# [[-1, -2, -3], 100, 0, 1, 200, 2]
Tingueu en compte que insert() no és una operació eficient perquè requereix els costos següents. Consulteu la pàgina següent a la wiki oficial per a la complexitat computacional de les diferents operacions de llista.O(n)
O(1)
El tipus deque es proporciona al mòdul estàndard de col·leccions de biblioteques com a tipus per afegir elements a la part superior amb aquest cost. Per exemple, si voleu tractar les dades com una cua (FIFO), és més eficient utilitzar deque.
Afegeix (insereix) una altra llista o tupla a la posició especificada:llesca
Si especifiqueu un interval amb un segment i assigneu una altra llista o tupla, s’afegiran (inseriran) tots els elements.
l = list(range(3))
print(l)
# [0, 1, 2]
l[1:1] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 1, 2]
També podeu substituir l’element original. Es substituiran tots els elements de l’interval especificat.
l = list(range(3))
print(l)
# [0, 1, 2]
l[1:2] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 2]