一、创建列表
- 普通列表
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) ###相当于将所有元素转换为大写,再排序
**