在python中交换两个列表

Ban*_*oot 4 python list

我有一个列表2列表,大小相同,在python中像:

list_of_lists = [list1, list2]
Run Code Online (Sandbox Code Playgroud)

在上都做了一些处理之后的for循环list1list2,我需要交换它们,以便list1成为list2list2成为初始化为全零的列表.因此,在迭代结束时,list_of_lists必须如下所示:

list_of_lists = [list1 which has contents of list2, list2 which has all zeros]
Run Code Online (Sandbox Code Playgroud)

在C语言中,一个可以只复制的指针list2list1再点list2被初始化为全零的列表.我怎么在python中这样做?

unu*_*tbu 9

这听起来像你主要与工作list1,并list2在循环中.所以你可以重新分配他们的价值观:

list1 = list2
list2 = [0]*len(list2)
Run Code Online (Sandbox Code Playgroud)

Python还允许您将其缩短为单行:

list1, list2 = list2, [0]*len(list2)
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,我发现两行版本更具可读性.或者,如果你真的想要list_of_lists,那么:

list_of_lists = [list2, [0]*len(list2)]
Run Code Online (Sandbox Code Playgroud)

或者如果你想要两个:

list1, list2 = list_of_lists = [list2, [0]*len(list2)]
Run Code Online (Sandbox Code Playgroud)