Python:将第一个元素更改为列表本身

ror*_*oro 5 python list

我有一个清单:

mylist = [1,2,3]
Run Code Online (Sandbox Code Playgroud)

我想将第一个元素更改为列表,因此列表中的列表.我的第一次尝试:

mylist + mylist[1:]
Run Code Online (Sandbox Code Playgroud)

给我

[1, 2, 3, 2, 3] # not what I want
Run Code Online (Sandbox Code Playgroud)

我的第二次尝试

mylist[0]=mylist
Run Code Online (Sandbox Code Playgroud)

给我

[[...], 2, 3] # is this an infinite list?
Run Code Online (Sandbox Code Playgroud)

虽然我想要

[[1,2,3], 2, 3]
Run Code Online (Sandbox Code Playgroud)

arg*_*rgo 3

mylist[0] = mylist指向 mylist 的引用。你可以想象它像这样在此输入图像描述

每个第一个元素都有一个列表,该列表又具有另一个列表。这种情况还在继续。

所以你的问题的解决方案是这样的

>>> mylist = [1,2,3]
>>> mylist[0] = mylist[:]
>>> mylist
[[1, 2, 3], 2, 3]
Run Code Online (Sandbox Code Playgroud)