1.切片的应用
(1)复制列表: 直接赋值新的列表和用切片得到的新列表的区别?
使用直接赋值新列表的方式并且查看在内存中的位置,这种方式两个列表在内存中的位置是一样,一个列表改变另一个也会跟着改变
>>> a = [1, 2, 3] >>> b = a >>> id(a) 139827490542536 >>> id(b) 139827490542536 >>> a[0] = 0 >>> b[0] 0 >>> b [0, 2, 3]
用切片得到的列表是一个全新的列表,不会跟着之前的列表改变,列表在内存中的位置也不会改变
>>> c = a[:] >>> c [0, 2, 3] >>> a [0, 2, 3] >>> a[0] = 1 >>> a [1, 2, 3] >>> c [0, 2, 3] >>> id(a) 139827490542536 >>> id(c) 139827490544840
(2)反转list
让list反序排列 step = -1时 list就会反转
>>> a [1, 2, 3] >>> a[::-1] [3, 2, 1]
(3)获取索引编号都是偶数的列表元素
>>> a [1, 2, 3] >>> a[::2] [1, 3]
(4)获取索引编号都是奇数的列表元素
>>> a [1, 2, 3] >>> a[1::2] [2]
(5)使用切片对列表进行增删改
通过切片使列表变成一个空列表
>>> a [1, 2, 3, 1, 2, 4] >>> a[:] = [] >>> a []
通过切片改变列表元素的值
>>> a [1, 2, 3, 5, 6] >>> a[2:3] [3] >>> a[2:3] = [4,1] >>> a [1, 2, 4, 1, 5, 6]
通过切片删除列表的元素
>>> a [1, 2, 4, 1, 5, 6] >>> a[2:5] = [] >>> a [1, 2, 6]
2.切片的函数
查看切片的函数有哪些?
dir(list)
查看函数的使用帮助?
help(list.函数名)
(1)append 函数 做列表追加
>>> a [1, 2, 6] >>> a.append(5) >>> a [1, 2, 6, 5]
(2)clear函数 情况列表的元素
>>> a [1, 2, 6, 5] >>> a.clear() >>> a []
a.clear() 和 a = [] 的区别?
在内存中的位置改变了
>>> a [1, 2, 5, 6] >>> id(a) 139827490570312 >>> a = [] >>> id(a) 139827490545224
(3)copy 函数 复制一个列表
>>> a = [1, 2] >>> b = a.copy() >>> b [1, 2] >>> id(a) 139827490570312 >>> id(b) 139827490545480
(4)count 函数 统计value出现的次数
>>> a [1, 2, 1, 2] >>> a.count(1) 2 >>> a.count(2) 2
(5)extend 函数 扩展元素
>>> a [1, 2, 1, 2] >>> a.extend('456') >>> a [1, 2, 1, 2, '4', '5', '6']
extend 函数和 append 函数的区别?
>>> a.extend('456') >>> a [1, 2, 1, 2, '4', '5', '6'] >>> a.append(456) >>> a [1, 2, 1, 2, '4', '5', '6', 456]
extend 是把要添加的东西拆分成一个个元素添加在后边,append 是把要添加的作为一个整体作为一个整体
(6)index 函数 用来获取元素索引编号
>>> a [1, 2, 1] >>> a.index(1) 0 >>> a.index(2) 1
(7)insert 函数 插入元素 (在指定的索引编号之前插入)
>>> a [1, 2, 1] >>> a.insert(1,3) >>> a [1, 3, 2, 1]
(8)pop 函数 移除并返回元素值(默认是删除最后一个元素,可以指定删除的元素,需要指定索引编号)
a.pop(索引编号) 不写索引编号 默认是删除最后一个
>>> a [1, 3, 2, 1] >>> a.pop() 1 >>> a [1, 3, 2]
(9)remove 函数 移除第一个匹配到的value
>>> a [1, 3, 2, 1] >>> a.remove(1) >>> a [3, 2, 1]
(10)reverse 函数 反转
>>> a [3, 2, 1] >>> a.reverse() >>> a [1, 2, 3]
reverse 函数和 切片反转的区别?
reverse 改变了原来的列表 切片的反转没有改变原来的list
(11)sort 函数 排序
>>> a[2:3] = [6,5] >>> a [1, 2, 6, 5] >>> a.sort() >>> a [1, 2, 5, 6]
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。