Python: Anexar itens a listas, iterando por lista de listas
Eu sou um novato Python cruzando de C. Estou basicamente tentando implementar lógica equivalente a uma matriz de ponteiros de matriz em C.
Eu quero acrescentar um item às extremidades de um monte de listas, iterando sobre uma lista dessas listas. Eu tenho o seguinte código:
data = [10, 20, 30]
list1 = list2 = list3 = list()
lists = [list1, list2, list3]
for i in range(len(data)):
lists[i].append(data[i])
for lst in lists:
print lst
Seu resultado, no entanto, é:
[10, 20, 30]
[10, 20, 30]
[10, 20, 30]
ao invés de:
[10]
[20]
[30]
Não consigo explicar por que esse código não produz a saída desejada, e há alguma outra maneira de fazer isso?