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.