1. 创建列表
- 列表里可以存放任意类型的数据,每个数据之间,用逗号分隔
- 整个列表被包裹在一对中括号[]里,如果你定义lst = []
- []表示一个空列表
与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。
list1 = [‘physics’, ‘chemistry’, 1997, 2000]
2. 索引的概念
列表是数据的有序集合,对于列表里数据的操作,都必须通过索引来完成
lst = [2, 3, 5, 6]
下面这张图很好的阐述了索引的概念

所谓正序索引,就是从左向右看,倒序索引就是从右向坐看,由左至右,从0开始递增,从右向左,从-1开始递减,python既支持正序索引,也支持倒序索引
3、访问列表中的值
list1 = ['physics', 'chemistry', 1997, 2000]list2 = [1, 2, 3, 4, 5, 6, 7 ]print "list1[0]: ", list1[0] #取值print "list2[1:5]: ", list2[1:5] #切片取值#结果list1[0]: physicslist2[1:5]: [2, 3, 4, 5]#指定开始位置,不指定结束位置lst = [3, 4, 1, 4, 2, 5, 8]lst1 = lst[2:]print(lst1)#结果[1, 4, 2, 5, 8]
4、字符串和列表互为转换
str="hello world hi"lst=str.split(' ')print(lst)#结果['hello', 'world', 'hi']#将列表转为字符串lst=['hello', 'world', 'hi']str=' '.join(lst)print(str)#结果hello world hi
5、向列表中新增数据
#append新增数据list = [] ## 空列表list.append('Google')print(list)#结果['Google']#name_list.insert(下标, 数据)list=['a',1,'c','d',2,'e']list.insert(2,'a1')print(list)#结果['a', 1, 'a1', 'c', 'd', 2, 'e']#追加数据 拆开序列追加到序列尾部list=['TOM', 'Lily', 'ROSE', 'TOM', [11, 22]]list.extend(['xiaoming', 'xiaohong'])print(list)#结果['TOM', 'Lily', 'ROSE', 'TOM', [11, 22], 'xiaoming', 'xiaohong']#修改列表的值motorcycles = ['honda', 'yamaha', 'suzuki']print(motorcycles)motorcycles[0] = 'ducati'print(motorcycles)#结果['honda', 'yamaha', 'suzuki']['ducati', 'yamaha', 'suzuki']
6、删除列表元素
#通过索引删除list=['TOM', 'Lily', 'ROSE', 'TOM', [11, 22]]del list(2)print(list)#结果['TOM', 'Lily', 'TOM', [11, 22]]#删除指定的对象list=['TOM', 'Lily', 'ROSE', 'TOM', [11, 22]]list.remove('TOM')print(list)#结果['Lily', 'ROSE', 'TOM', [11, 22]]
7、遍历列表
**
#通过索引遍历lst = [3, 5, 8, 1, 2, 6, 9]for i in range(len(lst)):print(lst[i])#通过迭代器变了lst = [3, 5, 8, 1, 2, 6, 9]for item in lst:print(item)
8、列表操作符
| 操作符 | 功能作用 |
|---|---|
| + | 连接两个列表 |
| * | 重复列表内容 |
| in | 成员操作符,判断某个数据是否在列表中 |
| not in | 成员操作符,判断某个数据是否在列表中 |
列表对 + 和 * 的操作符与字符串相似,现在,在交互式解释器里跟随我一起操作
>>> lst1 = [1, 2, 3]>>> lst2 = [4, 5, 6]>>> lst1 + lst2[1, 2, 3, 4, 5, 6]>>> lst1*3[1, 2, 3, 1, 2, 3, 1, 2, 3]>>> 3 in lst1True>>> 4 not in lst2False
9、python嵌套列表
lst = [1, [1, 5], 3, [9, 8, [1, 3]], 5]print(lst[3][2][0])print(lst[1:4])#结果1[[1, 5], 3, [9, 8, [1, 3]]]
10、sort() 排序:升序(默认) 和 降序
前提: 数据之间全部具有可比性,数据要统一类型**
list1 = [1, 3, 2, 5, 4, 6]list1.sort(reverse=True)print(list1)#结果[6, 5, 4, 3, 2, 1]
def cmp(x):return int(x[:-4])lst = ['1.jpg', '2.jpg', '3.jpg', '10.jpg', '20.jpg']lst.sort(key=cmp, reverse=True)print(lst)#结果['20.jpg', '10.jpg', '3.jpg', '2.jpg', '1.jpg']
11、python列表方法详解
下表是列表方法及功能说明
| 方法 | 功能 |
|---|---|
| count() | 统计某个元素在列表中出现的次数 |
| append() | 在列表末尾添加新的对象 |
| extend | 在列表末尾一次性追加另一个序列中的多个值 |
| index | 返回一个元素在列表中第一次出现的位置索引 |
| insert() | 将对象插入列表中的指定位置 |
| pop() | 删除列表中指定索引的元素,默认删除最后一个并返回该值 |
| remove() | 移除列表中某个值的第一个匹配项 |
| reverse() | 翻转列表 |
| sort() | 对列表进行排序 |
