Como faço para inserir um elemento em uma lista aninhada?
Tenho:
lista = [[1, 2, 3,], [4, 5, 6]]
Quero inserir um elemento:
lista = [[1, 2, 3], [4, 5, 6, 7]]
Como faço para inserir um elemento em uma lista aninhada?
Tenho:
lista = [[1, 2, 3,], [4, 5, 6]]
Quero inserir um elemento:
lista = [[1, 2, 3], [4, 5, 6, 7]]
Da mesma forma que você insere um elemento em qualquer lista, com o método append
. O único detalhe é como obter a lista na qual você quer inserir.
Bom, o que você tem é uma lista de listas (uma lista na qual cada um dos elementos é outra lista):
lista = [
[1, 2, 3], <-- primeiro elemento da lista
[4, 5, 6] <-- segundo elemento da lista
]
Como você quer inserir na lista [4, 5, 6]
, e ela é o segundo elemento da lista, basta acessá-la com lista[1]
(afinal, em uma lista, os índices começam em zero: o primeiro elemento é lista[0]
, o segundo é lista[1]
, etc). Sendo assim, basta obter a lista que você quer e chamar append
nela:
lista = [[1, 2, 3], [4, 5, 6]]
lista[1].append(7)
print(lista) # [[1, 2, 3], [4, 5, 6, 7]]
Eu estava tentando usar o insert e, fazendo assim:
lista.insert(1, 7)
Acabava ficando assim:
lista = [[1, 2, 3,], 7, [4, 5, 6]]
No caso tem que ser assim:
lista[1].insert(4, 7)
Aprendendo Python agora. Achei que fosse igual Java, onde se coloca exemplo[0][0].
Aí você está inserindo na lista
(e na posição 1), e não nas sub-listas. Se quer acessar a sub-lista [4, 5, 6]
, tem que usar lista[1]
.
E se quer inserir sempre no final, é melhor usar append
. Usando insert
você tem que saber a posição exata.