Python基础(4) | 您所在的位置:网站首页 › list索引举例 › Python基础(4) |
序列是Python中最基本的数据结构。Python有6个序列的内置类型 ( 列表、元组、字符串、Unicode 字符串、buffer对象和 xrange 对象 ),但最常见的是列表和元组。序列中的每个元素都分配一个数字 -— 它的位置(或索引),第一个索引是0,第二个索引是1,依此类推。 序列都可以进行的操作包括索引,切片,加,乘,检查成员。 此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。 接下来,我将着重介绍列表的定义,特性,遍历以及其基本操作(增、删、改、查以及排序)。 一、列表的定义与创建 列表的格式:列表名=[元素1 , 元素2 , 元素3 , ... ...]空列表的定义:my_list = [](常用) 或 my_list = list()列表中的元素不需要具有相同的类型。 #定义列表list1,且列表中的元素不具有相同的类型 >>> list1=['zhangsan','male',20,50,'13729278528'] >>> type(list1) #创建空列表my_list #方法一(常用) >>> my_list=[] >>> type(my_list) #方法二 >>> my_list=list() >>> type(my_list) 二、列表的特性 与元组不同,列表中的元素可以修改;列表里面也是可以嵌套列表的;列表的元素可以是整型,浮点数,复数,布尔类型,也可以是字符串;列表是一种有序的集合,每个元素都有一个位置(即索引,索引从0开始),故列表可以进行截取、组合等。 三、列表的基本操作1、 查找列表中的值 1.1> 使用下标索引来访问列表中的值,也可以使用方括号的形式进行截取,如下所示: >>> list1=['zhangsan','male',20,50,'13729278528'] >>> list1[1] #获取列表list1中的第二个元素 'male' >>> list1[-1] #获取列表list1中的倒数第一个元素 '13729278528' >>> list1[1:] #获取列表list1中第二个到最后一个元素 ['male', 20, 50, '13729278528'] >>> list1[:3] #获取列表list1中第一个到第三个元素(含左不含右) ['zhangsan', 'male', 20] >>> list1[1:3] #获取列表list1中第二个到第三个元素(含左不含右) ['male', 20]1.2> list.index(obj):从列表中找出某个值第一个匹配项的索引位置 list1=['zhangsan','male',20,50,'13729278528',20] a=list1.index(20) #从列表中找出元素20的第一个匹配项的索引位置 print(a) 运行结果: 22、增加列表中的元素(append,insert,extend) 2.1> list.append(obj):在列表的末尾添加新的对象 list1=['zhangsan','male',20,50,'13729278528'] list1.append(160) print(list1) list1.append(['西安','北京']) #实现列表的嵌套 print(list1) 运行结果: ['zhangsan', 'male', 20, 50, '13729278528', 160] ['zhangsan', 'male', 20, 50, '13729278528', 160, ['西安', '北京']]2.2> list.insert(index , obj):在列表的指定位置增加元素;如果指定的位置不存在,默认会增加在列表末尾。 list1=['zhangsan','male',20,50,'13729278528'] list1.insert(4,160) #向列表的第五个位置插入160 print(list1) list1.insert(1,['西安','北京']) #向列表的第二个位置插入['西安','北京'] print(list1) list1.insert(8,'大学') #'8'超出索引范围,添加到列表的末尾 print(list1) 运行结果: ['zhangsan', 'male', 20, 50, 160, '13729278528'] ['zhangsan', ['西安', '北京'], 'male', 20, 50, 160, '13729278528'] ['zhangsan', ['西安', '北京'], 'male', 20, 50, 160, '13729278528', '大学']2.3> list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) list1=['zhangsan','male',20,50,'13729278528'] list2=['momo','famale',18,45,'13729669270'] list1.extend(list2) print(list1) 运行结果: ['zhangsan', 'male', 20, 50, '13729278528', 'momo', 'famale', 18, 45, '13729669270']3、修改列表中的元素 修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改。 list1=['zhangsan','male',20,50,'13729278528'] list1[3]=55 print(list1) list1[2:]=[21,60,'19802979883'] #切片进行修改 print(list1) 运行结果: ['zhangsan', 'male', 20, 55, '13729278528'] ['zhangsan', 'male', 21, 60, '19802979883']4、删除列表中的元素(del,pop,remove) 4.1> del list(index):根据列表的下标,对指定位置的元素进行删除 list1=['zhangsan','male',20,50,'13729278528'] del list1[3] #删除列表中的第四个元素 print(list1) 运行结果: ['zhangsan', 'male', 20, '13729278528']4.2> list.pop(index):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 list1=['zhangsan','male',20,50,'13729278528'] list1.pop() #默认移除列表中的最后一个元素 print(list1) list1.pop(2) #移除列表中的第三个元素 print(list1) 运行结果: ['zhangsan', 'male', 20, 50] ['zhangsan', 'male', 50]4.3> list.remove(obj):移除列表中某个值的第一个匹配项 list1=['zhangsan','male',20,50,'13729278528',20] list1.remove(20) #移除列表中元素20的第一个匹配项 print(list1) 运行结果: ['zhangsan', 'male', 50, '13729278528', 20]5、列表的排序 5.1> list.sort() / list.reverse():对列表进行升序排列 5.2> list.sort(reverse=True):对列表进行降序排列 >>> list1=[1,3,8,5,10,-1] >>> list1.sort() #升序排列 >>> print(list1) [-1, 1, 3, 5, 8, 10] >>> list1.sort(reverse=1) #sort(reverse=True),降序排列 >>> print(list1) [10, 8, 5, 3, 1, -1] >>> list1.reverse() #升序排列 >>> print(list1) [-1, 1, 3, 5, 8, 10] 四、列表的常用操作符 len()可以求取列表的长度 + 号用于组合列表,* 号用于重复列表in,not in 判断元素是否在列表中for x in [1, 2, 3]: print(x) 列表的遍历 len([1, 2, 3])3长度[1, 2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]组合['Hi!'] * 4['Hi!', 'Hi!', 'Hi!', 'Hi!']重复3 in [1, 2, 3]True元素是否存在于列表中for x in [1, 2, 3]: print (x) 1 2 3 迭代 五、Python列表函数&方法
|
CopyRight 2018-2019 实验室设备网 版权所有 |