一、创建列表

  1. 普通列表

a = ['小日','郝帅']
列表中只包含一种元素

  1. 混合列表

a = [0,'小日',3.14,['郝帅',''郝瑶]]
列表中包含不同元素(可以包含另一个列表)

  1. 空列表

a = []
列表中不包含元素

二、列表操做

(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) ###相当于将所有元素转换为大写,再排序 **