一、创建列表
- 普通列表
a = ['小日','郝帅']
列表中只包含一种元素
- 混合列表
a = [0,'小日',3.14,['郝帅',''郝瑶]]
列表中包含不同元素(可以包含另一个列表)
- 空列表
二、列表操做
(1)、插入
①append()
a = ['小日']a.append('郝帅')# 结果:a = ['小日','郝帅']
append 函数可以向列表尾部追加一个元素
②extend()
a = [1]a.extend([2,3])#结果: a = [1,2,3]
extend 函数可以向列表尾部追加多个元素(参数是 列表、元组)
③insert()
a = [1,2,3]a.insert(1,8)#结果: a = [1,8,2,3]
insert 函数可以将元素插入到指定位置
格式:insert(位置,元素)
④加号+
**>>> a = [1,2,3]****>>> b = [4,5,6]****>>> a=a+b****>>> a****[1, 2, 3, 4, 5, 6]**
(2)、索引
①可以通过[]下标的形式来索引列表中你想要的元素
例子:**a = [1,2,3,4,5]****a[1]****<<2****#正数为顺序索引,复数为逆序索引****a[-1]****<<5**
②index()函数
函数原型:**index(元素,起始位置=0,终止位置=末尾)**
index会返回参数中元素第一次出现的位置,可以设定起始位置和终止位置
没有查询到元素会抛出异常
**a = [1,2,3,1]****a.index(1)****<<0****a.index(1,1)****<<3**
(3)、切片
list[起始:终点:步长]
例子:**print(service[1:]) ##打印第一个元素之后的内容****print(service[:-1]) ##打印最后一个元素之前的内容****print(service[::-1]) ##倒序输出**
(4)、重复
**a = ['12','22','33']****a*3** *就是重复n次,在字符串中也是如此**<<['12','22','33','12','22','33','12','22','33']**
(5)、成员操作符
(not)in
**a = [1,2,3]****1 in a****True**
判断元素是否在列表中,并返回布尔值
(6)、删除
①pop()函数
函数原型:**pop(元素位置 = -1)****#无参,则弹出末尾元素,带参则弹出指定位置元素(要返回该元素)**
例子:**a = [1,2,3]****b = a.pop()****b****<<3**
②remove()函数
函数原型:**remove(元素)**
注意:只能指定元素的名字,不能指定序号,且不返回值
③del 表达式
**del list**
删除整个列表
(7)、赋值
①通过索引
例子:**a = [1,2,3]****a[1] = 5****a****<<[1,5,3]**
②通过切片
例子:**a = [1,2,3]****a[:2] = [6,9]****a****<<[6,9,3]**
(8)、查看出现次数
函数原型:**count(元素)**
返回该元素出现的次数
例子:**a= [1,1,1,1,2,3]****a.count(1)****<<4**
(9)、排序
①sort()函数
函数原型:**list.sort(key=function, reverse=boolean)**
key是列表的权值参数
reverse是升降序参数,1为降序,0为升序,默认升序
例子①:**names = ['alice','Bob','coco','Harry']
****names.sort()
****names ###按照ASCLL排序 ###先排序首字母为大写的,再排序首字母是小写的
****names.sort(key=str.lower) ###对字符串排序不区分大小写,相当于将所有元素转换为小写,再排序
****names.sort(key=str.upper) ###相当于将所有元素转换为大写,再排序
**
