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?

questionAnswers(1)

yourAnswerToTheQuestion