编程论坛
注册
登录
编程论坛
→
Python论坛
新手求助,两个问题,望大佬解答,感谢
部埠
发布于 2021-11-14 12:24, 1544 次点击
1,若有 l1 = [2,3,4],试说明下面两个语句有何不同。 l2 = l1 l2 = l1[:]?
2,说明表达式2*['a']+['c']*3的值,解释该表达式用到哪些列表操作?
5 回复
#2
古123
2021-11-14 15:45
第一个问题:
l2=l1 创建一个标签指向l1数据的地址。
l2=l1[:]新建并复制l1数据
比如下面一段代码
程序代码:
l1 = [2,3,4]
l2 = l1
l3 = l1[:]
print
(f
'
l1:{id(l1)}
'
)
print
(f
'
l2:{id(l2)}
'
)
print
(f
'
l3:{id(l3)}
'
)
可以看到结果l2和l1的地址是一样的
只有本站会员才能查看附件,请
登录
使用两种方法得到l2,l3之后,修改l1的数据
程序代码:
l1 = [2,3,4]
l2 = l1
l3 = l1[:]
print
(l2)
print
(l3)
print
(
'
----
'
)
l1[1] = 10
print
(l2)
print
(l3)
只有本站会员才能查看附件,请
登录
修改l1的数据l2也会改变,因为l2和l1指向内存同一块地方
#3
部埠
2021-11-14 16:45
回复 楼主 部埠
感谢大佬不吝赐教,第二小问能否再给予答疑
#4
古123
2021-11-14 17:40
回复 3楼 部埠
第二个
2*['a']得到['a','a'],不知道有啥术语,刚才也没找到
+的话是合并
#5
sssooosss
2021-11-15 16:29
共同学习
#6
风卷浪起
2021-11-26 22:07
共同进步!
1