首页 > 自考资讯 > 高考百科

python:列表中clear和中括号的区别,别再说是坑了,python列表clear函数

小条 2024-06-27

如果将list1保存到list2中,使用clear清除list1,list2也会被清除,但即使使用[]清除list2,你有遇到过这样的情况吗?

从现在开始,请不要告诉我list.clear()和list=[]的用法不同。我在使用Python 时遇到了一个陷阱。这本身并不是一个陷阱,只是你没有很好地理解它。在文章的最后,我们简要讨论了Python的内置类型。

1.列表是可变对象当然,列表、集合和字典都是可变对象。

编辑变量对象:属于其原始位置(原始内存地址)。 创建变量对象:创建一个新对象并编辑新的内存地址。 list1的内存地址保持不变。

2047e6f16ca54dbd81352ca093246dd1~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720034890&x-signature=MxP63yYyNqyJRwTqEt57zAb%2FHdc%3D 创建新的list1和list2,内存地址不同

b37ce02feea642ae91315a0ccfc8aed8~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720034890&x-signature=O6JPLMFwfGbdtCA%2FnSYjvWRTA78%3D2。 List Clear() 清除list1 的原始内存地址。

3d2ab824217445dca19310c5ff0dbf0c~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720034890&x-signature=vdiMGNNgjuGgw4Jx9AliPWRHfbE%3D3。列表中的[]是新的列表,原来的内存地址会一直存在。

d29b5afe768643e5ada3ddf9a86343a4~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720034890&x-signature=5Bf%2BGI%2BjCfFT%2BqietU1JkArnzEM%3D以上三点你了解了吗?

当然,如果您对可变和不可变对象的本质有详细的了解,那么理解这些就很好了。

Python 内置类型

不可变对象:数字、字符串、元组、布尔值(编辑属于新对象)

相同的数据占用一块内存。例如:a=1;b=1;a和b具有相同的内存地址并且只有一个对象。没有创建新对象(没有分配新内存)。示例:a=1; a=2; 相当于创建一个新对象(打开新内存) 可变对象:列表、集合、字典(编辑是就地操作)

一个对象占用一部分内存如下:a=[1,2];b=[1,2];a和b内存地址不同,产生两个新对象(两个新块)。像a=[1,2]; a.append(3); 一样编辑对象a的内存地址不变,仍然是一个对象(内存扩展)。您可以单击Python函数1:函数传递变量和不可变对象。

版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。

猜你喜欢