登录
记住
注册
在线问答系统
问题
未回答
标签
分类
用户
提问
提问
创建列表list1后用list2=list1来为list2赋值,此时对list2进行append会使list1和list2都加入元素,如何对两个列表分别加入元素
+5
投票
最新提问
3月 8, 2024
分类:
学习问题
|
用户:
shr1366
7
4
(
380
分)
相同列表分开加入元素
请
登录
或者
注册
后回答这个问题。
3
个回答
+1
投票
最新回答
3月 8, 2024
用户:
MYHG
10
8
4
(
2.7k
分)
采纳于
3月 8, 2024
用户:
shr1366
已采纳
list2=list1是直接把list1赋值给list2,之后两个列表共用一个地址
所以改赋值语句就好了
众所周知一个个加进list2肯定可以
简单写法:list2=list1[:]
发表于
3月 8, 2024
用户:
MYHG
10
8
4
(
2.7k
分)
至于为什么直接赋值会共用一个地址
因为list的本质是一个指向列表首位的指针,指针通过访问连续的地址访问list的各个元素,指针的“值”就是地址。
∴你把list1的值赋给list2,就是也给list2同样的一个地址…剩下的你懂的√
请
登录
或者
注册
后再添加评论。
+1
投票
最新回答
3月 8, 2024
用户:
Waver
6
5
2
(
2.0k
分)
python里list1=list2的意思是两个列表等价,占用同一个内存空间,和a = b不一样,这个是赋值。列表的话可以改成list2 =list(list1),给2建设一个新列表。
list1 = [
'A'
,
'B'
]
list2 =
list
(list1)
list2.append(
'C'
)
print
(list1)
print
(list2)
请
登录
或者
注册
后再添加评论。
+1
投票
最新回答
3月 9, 2024
用户:
玲娜贝儿
7
5
4
(
1.6k
分)
你这个相等是创建了一个等价列表,,所以以后所有的操作对两个列表是等价操作的
应该再进行列表创建,比如
LIST2=list(LIST1)
或者
list1=[]
for i in range(len(list))
list1[i]=list[i]
这样实现了创建一个新的列表,两个列表没有可以重复的部分
请
登录
或者
注册
后再添加评论。
欢迎来到 在线问答系统 ,有什么不懂的可以尽管在这里提问,你将会收到社区其他成员的回答。
...