一、列表
Python内置的一种数据类型是列表:list,它是一种有序的集合,可添加和删除其中的元素。
列表的创建:将用逗号分隔的不同数据项用方括号括起来即可
获取list元素的个数:len()
1 name = ['小白','小黑','小花','小灰'] #创建列表 2 print(name) 3 print(len(name))
1、列表方法及其基本操作
1.1 增
append():追加元素到列表末尾
insert():插入元素到列表指定位置
1 name = ['小白','小黑','小花','小灰'] #创建列表 2 3 #增 4 name.append('小黄') 5 print(name) 6 name.insert(0,'小绿') 7 print(name)
1.2 删
pop():删除列表末尾的元素,pop(i)删除指定位置的元素,i为索引位置
remove():移除列表中某个值的第一个匹配项
del 列表名[i]:删除指定位置的元素,i为索引位置
clear():清空列表中的元素
1 name = ['小白','小黑','小花','小黑','小灰'] #创建列表 2 3 #删 4 name.pop() #删除末尾元素 5 print(name) 6 name.pop(0) #删除第一个元素 7 print(name) 8 name.remove('小黑') #删除列表中值为小黑的第一个元素 9 print(name)
1 name = ['小白','小黑','小花','小灰'] #创建列表 2 3 #删 4 del name[-1] #删除指定位置的元素 5 print(name) 6 name.clear() #清空列表中的元素 7 print(name)
1.3 修改
使用索引标记为某个特定的的元素赋值
1 name = ['小白','小黑','小花','小灰'] #创建列表 2 3 #修改 4 name[3] = '小黄' 5 print(name) 6 name[4] = '小绿' #修改的时候如果指定的下标不存在,会报错
1.4 查
index():从列表中找出某个值第一个匹配项的索引位置
count():统计某个元素在列表里出现的次数
1 name = ['小白','小黑','小花','小灰'] #创建列表 2 3 #查 4 print(name[-1]) #取值 下标为-1的时候,就取最后一个元素 5 print(name.index('小花')) #获取元素的下标,如果找不到那个元素的话,会报错 6 print(name.count('小花')) #查看元素在list里面出现了多少次
1.5 反转
reverse():反转列表,会改变原列表的值
1 name = ['小白','小黑','小花','小灰'] #创建列表 2 3 #反转 4 name.reverse() #就是把这个list反转一下 5 print(name)
1.6 排序
sort():对列表进行排序;升序:列表名.sort();降序:列表名.sort(reverse=True)
1 nums = [9,2,34,12,34,457,2342] 2 # nums = ['b','f','e','z','g','h'] 3 nums.sort() #升序 4 print(nums) 5 nums.sort(reverse=True) #排序,降序 6 print(nums)
1.7 合并列表
1 cities = ['北京','上海'] 2 cities2 = ['成都','深圳','广州'] 3 print(cities+cities2)
1.8 切片
切片可以获取多个元素,可理解为:从第几个元素开始,到第几个元素结束,获取他们之间的值;
切片格式:列表名:[1:10],如要获取name的第一个到第五个元素, 用name[0:6],切片不包含后面那个元素的值的,顾头不顾尾;
前面的下标为0时可省略写为:name[:6];
切片后面还可以写一个参数,叫做步长。即隔多少个元素取一次,默认不写时就是隔一个取一次。
切片操作也可以对字符串使用,和列表的用法一样,实例如下:
1 # 切片 2 # 切片是list取值的一种方式 3 nums = ['张三','李四','王某某','周大'] 4 # 0 1 2 3 5 6 print(nums[1:3]) #顾头不顾尾 7 print(nums[1:]) #如果从某个下标开始取,取到末尾结束,那么末尾的下标可以省略不写 8 print(nums[:2]) #如果是从头开始取,取到后面某个下标结束,那么开头的下标可以不写 9 print(nums[:]) #取所有的
1 lis = list(range(1,21)) 2 print(lis) 3 print(lis[::2]) #步长,隔几个取一次 4 print(lis[::-2]) #步长,隔几个取一次 5 # #如果步长是正数的话,从左往右边开始取值 6 # ##如果步长是负数的话,从右边往左边开始取值 7 8 print(lis[::-1]) #反转list 9 print(lis) 10 print(lis[1::-1]) 11 12 lis.reverse() #改变了原来list的值 13 new_list = lis[::-1] #产生了新的一个list,不会改变原来list的值 14 print(new_list) 15 print(lis)
1.9 多维数组
1 #多维数组 2 n = [1,2,3] #1维数组 3 n2= [ [1,2,3] ,['haha'] ] #二维数组 4 my = [[1,2,3,4,5,6],['name','age','sex','哈哈',['小明','小黑','小白']],890] #3维数组 5 print(my[1][4][0]) 6 my[1][4].append('小紫') 7 my[1][2]='性别' 8 print(my) 9 print( len(my) ) #看变量的元素个数,长度