Para engadir un elemento a unha lista (matriz) de tipo lista en Python, ou para combinar outra lista, use os métodos de lista append(), extend() e insert(). Tamén pode usar o operador + ou porción para especificar unha posición e asignala.
A seguinte información ofrécese aquí.
- Engade elementos ao final:
append()
- Combina outra lista ou tupla ao final (concatenación):
extend()
,+
operador - Engadir (inserir) un elemento na posición especificada.:
insert()
- Engadir (inserir) outra lista ou tupla na posición especificada:porción
Engade elementos ao final:append()
Usando o método append() da lista, pode engadir elementos ao final (último). Se queres engadila a unha posición diferente ao final, como a parte superior, usa insert() como se describe a continuación.
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']
As listas tamén se engaden como un único elemento. Non se combinan.
l.append([3, 4, 5])
print(l)
# [0, 1, 2, 100, 'new', [3, 4, 5]]
Combina outra lista ou tupla ao final (concatenación):extend(),+operador
Co método de lista extend(), podes combinar outra lista ou tupla ao final (o final). Todos os elementos engadiranse ao final da lista orixinal.
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]
Teña en conta que cada carácter (elemento) engádese á cadea un carácter á vez.
l.extend('new')
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w']
Tamén é posible concatenar usando o operador + en lugar do método extend().
+, devólvese unha nova lista.+=
Isto tamén che permitirá engadilo a unha lista existente.
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]
Engadir (inserir) un elemento na posición especificada.:insert()
O método de lista insert() pode engadir (inserir) un elemento nunha posición especificada.
O primeiro argumento especifica a posición e o segundo argumento especifica o elemento a inserir. A primeira posición (inicial) é 0; para valores negativos, -1 é a última posición (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]
Do mesmo xeito que con append(), a lista engádese como un único elemento. Non se fusionará.
l.insert(0, [-1, -2, -3])
print(l)
# [[-1, -2, -3], 100, 0, 1, 200, 2]
Teña en conta que insert() non é unha operación eficiente porque require os seguintes custos. Vexa a seguinte páxina na wiki oficial para coñecer a complexidade computacional das distintas operacións de lista.O(n)
O(1)
O tipo deque ofrécese no módulo de coleccións de biblioteca estándar como un tipo para engadir elementos á parte superior a este custo. Por exemplo, se quere tratar os datos como unha cola (FIFO), é máis eficiente usar deque.
Engadir (inserir) outra lista ou tupla na posición especificada:porción
Se especifica un intervalo cunha porción e asigna outra lista ou tupla, engadiranse (inseriranse) todos os elementos.
l = list(range(3))
print(l)
# [0, 1, 2]
l[1:1] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 1, 2]
Tamén pode substituír o elemento orixinal. Todos os elementos do intervalo especificado serán substituídos.
l = list(range(3))
print(l)
# [0, 1, 2]
l[1:2] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 2]