码迷,mamicode.com
首页 > 编程语言 > 详细

学习python第四天——列表方法

时间:2019-10-01 22:19:05      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:清除   mic   lse   img   python   class   深拷贝   简单   本质   

1、append()

列表append()昨天说过用于在列表尾部添加元素

2、clear()

用于列表元素清除,释放内存

 

 技术图片

 

 技术图片

 

 3、copy()

字面意思复制,拷贝分为浅拷贝和深拷贝,copy()方法属于列表深拷贝。

深拷贝和浅拷贝抄自其他网页:

浅拷贝

  • 1、对于 不可 变类型 Number String Tuple,浅复制仅仅是地址指向,不会开辟新空间。
  • 2、对于 可 变类型 List、Dictionary、Set,浅复制会开辟新的空间地址(仅仅是最顶层开辟了新的空间,里层的元素地址还是一样的),进行浅拷贝
  • 3、浅拷贝后,改变原始对象中为可变类型的元素的值,会同时影响拷贝对象的;改变原始对象中为不可变类型的元素的值,只有原始类型受影响。 (操作拷贝对象对原始对象的也是同理)

深拷贝

  • 1、浅拷贝,除了顶层拷贝,还对子元素也进行了拷贝(本质上递归浅拷贝)
  • 2、经过深拷贝后,原始对象和拷贝对象所有的子元素地址都是独立的了
  • 3、可以用分片表达式进行深拷贝
  • 4、字典的copy方法可以拷贝一个字典

深拷贝对6种基本类型的影响

我们对3种可变类型3种不可变类型进行深拷贝。
结果发现,和浅拷贝几乎一致。

其实这也好理解,因为的深拷贝对比浅拷贝,强调的是 递归,强调的是资源素。
对了顶层的操作,深浅拷贝无异。

技术图片

 

 技术图片

 

 我简单理解啊就是浅拷贝是拷贝的数据的地址

深拷贝是拷贝数据

浅拷贝的数据与原属数据改变会相互影响,而深拷贝则不会相互影响,普通的变量赋值均属于浅拷贝

4、count()

用于访问列表内某个元素值存在的数量

技术图片

 

技术图片

 

 5、extend()

 extend()用于列表扩展,没有返回值。

技术图片

 

 技术图片

 

 6、insert()

昨天学习过insert()方法,用于在列表中插入元素

7、index()

用于查找列表中某个元素的索引,不存在时报错。参数为元素,查找开始位置,查找结束位置

8、pop()、remove()

昨天学习过,用于删除其中元素使用。

9、reverse()

reverse() 函数用于反向列表中元素。

技术图片

 

 技术图片

 

 10、sort()

sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。

  • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
  • reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。技术图片 技术图片 

学习python第四天——列表方法

标签:清除   mic   lse   img   python   class   深拷贝   简单   本质   

原文地址:https://www.cnblogs.com/xiaobai-yang/p/11616143.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!