Python中列表list常见操作 |
您所在的位置:网站首页 › 7352含义 › Python中列表list常见操作 |
主要涉及知识点 列表是我们python里面最常见的数据类型,我们主要有以下的操作。 1、索引 2、切片 3、追加 4、删除 5、长度 6、循环 (也称遍历) 7、包含 8、嵌套 例如定义列表: List2=['openstack','python','linux',"docker","zabbix","nginx","linux","linux","123","ww33##"] 或者 List2=list(['openstack','python','linux',"docker","zabbix","nginx","linux","linux","123","ww33##"])主要涉及的基本方法以及介绍 方法名 方法介绍 简单示例 append 在列表末尾追加一个元素 List2.append('docker')即可在末尾插入docker Insert 在列表中某一位置插入某元素 List2.insert(2,”mysql”) 这里的2指的是列表元组的下标 表示在第三位插入mysql remove 删除列表的某一元素 List2.remove("linux")删除值为linux的元素 clear 清空列表的值, List2.clear()类似于del List2 两者都能清空列表 pop 该方法默认删除最后一个元素 List2.pop() #默认删除最后一个元素List2.pop(1)#删除下标为1的元素 index 索引,查找某个元素的位置 List2.index("linux") #查找linux的位置,查找结果为下标,如果有多个相同的元素,只能确定第一个元素的位置 count 统计某个元素出现几次 List2.count("linux")统计linux元素出现的次数 reverse 翻转,将列表元素前后位置置换 List2.reverse() #将列表元素翻转print(List2) sort() 排序按照(AScall码)先是特殊符号,然后数字字母首字母 List2.sort() #将列表元素排序print(List2) copy 复制列表 list3=List2.copy() print(List2,list3) extend() 可以合并两个列表,将某个列表的元素追加到一个列表 list1=['123',123,'abc']List2.extend(list1)打印List2['openstack', 'python', 'linux', 'docker', 'zabbix', 'nginx', 'linux', 'linux', '123', 'ww33##', '123', 123, 'abc'] 简单的示例: 一、列表的定义 >>> List2=list(['openstack','python','linux',"docker","zabbix","nginx","linux"," linux","123","ww33##"]) >>> print(List2) ['openstack', 'python', 'linux', 'docker', 'zabbix', 'nginx', 'linux', 'linux', '123', 'ww33##'] 或者List2=['openstack','python','linux',"docker","zabbix","nginx","linux"," linux","123","ww33##"] 我们直接用后面的这种定义,检验和模拟相关方法和切片等。二、切片与列表取值 切片主要就是针对获取列表中部分或者单个元素的方法,通过下标访问列表中的元素,下标从0开始计数 取列表中的某一个值(通过下标取值,下标从0开始) List2=['openstack','python','linux',"docker","zabbix","nginx","linux","linux","123","ww33##"] print(List2[0]) print(List2[1]) print(List2[-2]) 结果: openstack python 123 我们发现在取值时下标为零的恰好取的值为是第一位元素,更好的证明了下标从零开始这一说法, 同时发现print(List2[-2])恰好是倒数第二位元素,由此可见不仅顺着取值,可以倒着取值。切片:访问里面的前多个值: List2=['openstack','python','linux',"docker","zabbix","nginx","linux","linux","123","ww33##"] print(List2[0:3]) #取前三个 结果: ['openstack', 'python', 'linux'] 再试试 print(List2[:3]) 结果: ['openstack', 'python', 'linux'] 由此我们可以看出开始下标是0的时候,可以省略不写,还需要注意下标[0:3]能取到1,2,3位的元素, 即表示第四位取不到,在我们边界取值时需要注意。 print(List2[3:-1]) #取不到最后一位 print(List2[3:]) #取得第四位到最后一位 print(List2[2:9:2])#取出下标为第二位到下标为9之间的 每隔一个元素取一次 print(List2[-3:-1]) #倒着取值取出倒数第三位和倒数第二位 print(List2[-3:])#取出倒数的后三位 print(List[0::2])#每隔一个元素取一次 print(list[::2]) #每隔一个元素取一次 和上面的一样 结果: ['docker', 'zabbix', 'nginx', 'linux', 'linux', '123'] ['docker', 'zabbix', 'nginx', 'linux', 'linux', '123', 'ww33##'] ['linux', 'zabbix', 'linux', '123'] ['linux', '123'] ['linux', '123', 'ww33##']三、列表增加元素 主要使用append的方法追加元素,在末尾增加 List2.append("winner") print(List2) 结果: ['openstack', 'python', 'linux', 'docker', 'zabbix', 'nginx', 'linux', 'linux', '123', 'ww33##', 'winner']在某一位置插入一元素,可以使用insert方法实现 List2.insert(2,"baidu") #在第三位插入元素baidu print(List2) 结果: ['openstack', 'python', 'baidu', 'linux', 'docker', 'zabbix', 'nginx','123', 'ww33##'] 由此看出在某位置插入时,该位置元素整体向后移动。给列表中增加元素除了insert和append方法外,我们还可以使用“+”号的方式增加元素 list2=["winner","mysql5.6","mariadb","redis","tomcat","redis"] >>> list2+[1998,2007,2017,"winnerlook","openstack"] ['winner', 'mysql5.6', 'mariadb', 'redis', 'tomcat', 'redis', 1998, 2007, 2017, 'winnerlook', 'openstack']此外我们还可以使用extend方法增加元素 list2.extend(["DBA","linux SRA"]) >>> list2 ['winner', 'mysql5.6', 'mariadb', 'redis', 'tomcat', 'redis', 'DBA', 'linux SRA']小结: 1.+ 运算符连接列表以创建一个新列表。列表可包含任何数量的元素;没有大小限制(除了可用内存的限制)。然而,如果内存是个问题,那就必须知道在进行连接操作时,将在内存中创建第二个列表。在该情况下,新列表将会立即被赋值给已有变量 a_list 。因此,实际上该行代码包含两个步骤 — 连接然后赋值 — 当处理大型列表时,该操作可能(暂时)消耗大量内存。 2.列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型。下面的列表中包含一个字符串、一个浮点数和一个整数。 3.append() 方法向列表的尾部添加一个新的元素。(现在列表中有 四种 不同数据类型!) 4. 列表是以类的形式实现的。“创建”列表实际上是将一个类实例化。因此,列表有多种方法可以操作。extend() 方法只接受列表作为参数,并将该参数的每个元素都添加到原有的列表中。 5. insert() 方法将单个元素插入到列表中。第一个参数是列表中将被顶离原位的第一个元素的位置索引。列表中的元素并不一定要是唯一的;比如说:现有两个各自独立的元素,其值均为 'Ω':,第一个元素 a_list[0] 以及最后一个元素 a_list[6] 。 entend()和eppend()方法区别 1.extend() 方法只接受一个参数,而该参数总是一个列表,并将列表 a_list 中所有的元素都添加到该列表中。 2.如果开始有个 3 元素列表,然后将它与另一个 3 元素列表进行 extend 操作,结果是将获得一个 6 元素列表。 3. 另一方面, append() 方法只接受一个参数,但可以是任何数据类型。在此,对一个 3 元素列表调用 append() 方法。 4. 如果开始的时候有个 6 元素列表,然后将一个列表 append[添加]上去,结果就会……得到一个 7 元素列表。为什么是 7 个?因为最后一个元素(刚刚 append[添加] 的元素) 本身是个列表 。列表可包含任何类型的数据,包括其它列表。这可能是你所需要的结果,也许不是。但如果这就是你想要的,那这就是你所得到的。 四、修改某元素的值 修改某元素的值,一般通过重新赋值的方法实现。 List2[2]="我的钢铁" List2[-1]="人生苦短,我用python!" #List2.insert(2,"baidu") print(List2) ['openstack', 'python', '我的钢铁', 'docker', 'zabbix', 'nginx', '123', '人生苦短,我用python!']五、删除 删除分为删除一个和全部删除,在删除个别的时候,我们可以用remove()方法和pop()方法,用del和clear()方法可以删除整个列表。接下来根据实例分析一下几种方法有什么区别。 pop()方法中间的参数是下标,不带参数的时候默认删除最后一位。 List2.pop(1) print(List2) 结果 ['openstack', 'linux', 'docker', 'zabbix', 'nginx', '123', 'ww33##'] List2.pop(-4) print(List2) 结果: ['openstack', 'python', 'linux', 'docker', 'nginx', '123', 'ww33##']remove()方法中间的参数直接是元素的内容 List2.remove('linux') print(List2) 结果: ['openstack', 'python', 'docker', 'zabbix', 'nginx', '123', 'ww33##'] 当列表存在相同元素linux时: List2=['openstack','linux','python','linux',"docker","zabbix","nginx","123",'linux',"ww33##"] List2.remove('linux') print(List2) 结果: ['openstack', 'python', 'linux', 'docker', 'zabbix', 'nginx', '123', 'linux', 'ww33##'] 当存在多个值时只会删除一个值clear()方法使用 ,是对整个列表的处理 List2.clear() print(List2) 结果: []del 可以删除整个列表或单个元素 del List2 print(List2) del List[2] 结果: Traceback (most recent call last): File "C:/Users/Administrator/PycharmProjects/s14/jiounumber.py", line 21, in print(List2) NameError: name 'List2' is not defined 删除个别元素 结合切片 List2=['openstack','云计算','python',"中国","中东",'linux',123,"ww33##"] del List2[2] print(List2) 结果: ['openstack', '云计算', '中国', '中东', 'linux', 123, 'ww33##']观察结果,可以发现del是删除了定义的列表而,clear()是清空了列表的元素。 六、查询某个元素位置以及出现的次数(列表元素可以重复) 对列表的查询主要有统计列表是多大的长度和查询某内容的元素在什么位置,主要使用index()索引方法和count()元素出现次数方法实现,。 List2=['openstack','python','linux',"docker","zabbix","nginx","123","ww33##"] 索引: print(List2.index("linux")) 结果 2 统计: print(List2.count("linux")) 结果 1 List2=['openstack','linux','python','linux',"docker","zabbix",'linux',"nginx","123","ww33##"] print(List2.index("linux")) print(List2.count("linux")) 结果: 1 3由此可以看到,当一个元素含有多个形同的元素时,索引一般是找到第一个该元素。 七、列表的翻转以及排序 可以通过reverse()方法和sort()方法实现对列表的翻转和排序,所谓翻转,就是将列表元素的位置重翻转,而排序主要是根据Ascall码来排序, List2=['openstack','linux','python','linux',"docker","zabbix",'linux',"nginx","123","ww33##"] List2.reverse() print(List2) 结果: ['ww33##', '123', 'nginx', 'linux', 'zabbix', 'docker', 'linux', 'python', 'linux', 'openstack'] 排序: List2.sort() print(List2) ['123', 'docker', 'linux', 'linux', 'linux', 'nginx', 'openstack', 'python', 'ww33##', 'zabbix'] 再稍微复杂一点,里面添加中文和整数等内容 List2=['openstack','云计算','python',123,"docker","zabbix",'linux',30.84,"123","ww33##"] List2.sort() print(List2) 执行结果: Traceback (most recent call last): File "C:/Users/Administrator/PycharmProjects/s14/jiounumber.py", line 24, in List2.sort() TypeError: unorderable types: int() |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |