升级打怪学python———列表
Posted wsc-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了升级打怪学python———列表相关的知识,希望对你有一定的参考价值。
1、列表和字典、元组都是python中的容器。
2、列表的三个特点:
(1)异构性
可以包含不同种类、任意类型的对象,甚至可以嵌套列表。
L1 = [1, 2, 3, 4, 5] L2 = [1, ‘spam‘, [2.3, 4]] L3 = []
(2)有序性
列表里装的元素都是有顺序的,可以按照位置序号获取单个元素,也可以用分片的方法来进行多个连续元素的获取。
L = [1,2,3,4,5,6,7,8] print(L[1:3]) [2, 3]
关于截取片段左右边界与索引值的对应关系,我们只需记住这么一个口诀“左闭右开”就OK了。
如果省略掉终止索引,就表示一直截取到末尾。
如果省略掉起始索引,就表示从起始元素就开始截取。
目前我们使用的都是正索引,即从左往右的索引值,最左侧的索引值为0,往右依次加1;还有一种负索引的表示法,即从右往左数,最右侧是-1,往左依次减1,即-2,-3以此类推。
步进值参数,这个默认是1,即1个挨着1个的取,如果我们想跳着截取,那就得专门设置这个步进参数了。
L = [1,2,3,4,5,6,7,8] print(L[0::2]) [1, 3, 5, 7]
对截取出的分片进行修改,会影响到原始的列表吗?
L = [1,2,3,4,5,6,7,8] b = L[3:-1] print(‘before change:b={}‘.format(b)) b[0]=111 print(‘after change:b={}‘.format(b)) print(‘after change:L={}‘.format(L)) before change:b=[4, 5, 6, 7] after change:b=[111, 5, 6, 7] after change:L=[1, 2, 3, 4, 5, 6, 7, 8]
(3)本地可修改
列表的大小和内容可以随意改变,在插入、删除、修改列表元素时,不需要建立一份新的列表拷贝,而是在原来的内存地址上直接修改列表对象。
1 L = [1,2,3,4] 2 L.append(5) 3 print(L) 4 5 [1, 2, 3, 4, 5] 6 7 L = [1,2,3,4] 8 L.insert(1,10) 9 print(L) 10 11 [1, 10, 2, 3, 4] 12 13 L = [1,2,3,4] 14 L.extend([11,22,33]) 15 print(L) 16 17 [1, 2, 3, 4, 11, 22, 33]
3、列表的修改方法不能被赋值
1 L = [1,2,3,4,5] 2 L = L.insert(6,2) 3 print(L[2]) 4 5 Traceback (most recent call last): 6 File "E:/12homework/12homework.py", line 3, in <module> 7 print(L[2]) 8 TypeError: ‘NoneType‘ object is not subscriptable
Insert方法的返回值是None,把None值赋给了L,你就无法找到之前的列表了。
4、列表修改的方法
增加:append(只能在尾部加入)
insert(可在任意位置加入,如果指定的索引值大于序列的总长度,则自动加到末尾)
extend(在尾部一次性加入多个元素)
L = [1,2,3,4] L.append(5) print(L) [1, 2, 3, 4, 5] L = [1,2,3,4] L.insert(1,10) print(L) [1, 10, 2, 3, 4] L = [1,2,3,4] L.extend([11,22,33]) print(L) [1, 2, 3, 4, 11, 22, 33]
删除:remove(传入指定要删除的对象)
L1 = [‘aa‘,‘bb‘,‘cc‘] L1.remove(‘aa‘) print(L1) [‘bb‘, ‘cc‘]
del(删除列表中的一个分片)
del L1[1:3]
pop(它在末端删除一个元素,并可以将删除的元素作为返回值返回给调用者)
L1 = [1,2,3] print(L1.pop())#末端删除一个元素,弹出删除的值 print(L1) 3 [1, 2]
分片赋值
L = [4,5,6,7,8,9]
L[0] = 0
L = [4,5,6,7,8,9] L[1:3] = [‘aa‘,‘bb‘,‘cc‘,‘dd‘] print(L) [4, ‘aa‘, ‘bb‘, ‘cc‘, ‘dd‘, 7, 8, 9]
本地排序
L = [1,5,3,8,3,2,10] L.sort() print(L) L.reverse() print(L) [1, 2, 3, 3, 5, 8, 10] [10, 8, 5, 3, 3, 2, 1]
以上是关于升级打怪学python———列表的主要内容,如果未能解决你的问题,请参考以下文章
如何3秒钟看出一个人的python实力|Python 数据分析打怪升级之路 day04:手把手教你如何分析用户数据数据分析基本概念