Python: listas e cópia deles

Não consigo explicar o seguinte comportamento:

l1 = [1, 2, 3, 4]
l1[:][0] = 888
print(l1) # [1, 2, 3, 4]
l1[:] = [9, 8, 7, 6]
print(l1) # [9, 8, 7, 6]

Parece ser issol1[:][0] refere-se a uma cópia, enquantol1[:] refere-se ao próprio objeto.