Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Swap two lists in python

Tags:

python

list

I have a list of 2 lists, which are of equal size, in python like:

list_of_lists = [list1, list2]

In a for loop after doing some processing on both list1 and list2, I have to swap them so that list1 becomes list2 and list2 becomes a list initialized to all zeros. So at the end of the iteration the list_of_lists has to look like:

list_of_lists = [list1 which has contents of list2, list2 which has all zeros]

In C, one could just copy the pointers of list2 and list1 and then point list2 to a list initialized to all zeros. How do I do this in python ?

like image 604
Bandicoot Avatar asked Dec 21 '22 11:12

Bandicoot


1 Answers

It sounds like you are mainly working with list1 and list2 inside the loop. So you could just reassign their values:

list1 = list2
list2 = [0]*len(list2)

Python also allows you to shorten this to a one-liner:

list1, list2 = list2, [0]*len(list2)

but in this case I find the two-line version more readable. Or, if you really want list_of_lists, then:

list_of_lists = [list2, [0]*len(list2)]

or if you want both:

list1, list2 = list_of_lists = [list2, [0]*len(list2)]
like image 114
unutbu Avatar answered Jan 06 '23 08:01

unutbu