Inserir elemento em uma lista aninhada

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]]
1 curtida

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.