Search code examples
pythonlistswap

Why do two arrays share values?


I have an array array1 = [[0, 1, 2, 3], [4, 5, 6, 7]] and I want to switch array1[0] and array1[1], which would ideally look like this: array1 = [[4, 5, 6, 7], [0, 1, 2, 3]]. So far I have tried this:

array1 = [[0, 1, 2, 3], [4, 5, 6, 7]]
array2 = array1
array1[0] = array2[1]
array1[1] = array2[0]

But that returns [[4, 5, 6, 7], [4, 5, 6, 7]]. Does anyone know why this is happening?


Solution

  • You can try:

    array1 = [array1[1], array1[0]]
    

    Then you don't need array2.