1. 创建列表

  • 列表里可以存放任意类型的数据,每个数据之间,用逗号分隔
  • 整个列表被包裹在一对中括号[]里,如果你定义lst = []
  • []表示一个空列表
  • 与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。

    list1 = [‘physics’, ‘chemistry’, 1997, 2000]

    2. 索引的概念

    列表是数据的有序集合,对于列表里数据的操作,都必须通过索引来完成

    1. lst = [2, 3, 5, 6]

    下面这张图很好的阐述了索引的概念
    Python3列表 - 图1
    所谓正序索引,就是从左向右看,倒序索引就是从右向坐看,由左至右,从0开始递增,从右向左,从-1开始递减,python既支持正序索引,也支持倒序索引

3、访问列表中的值

  1. list1 = ['physics', 'chemistry', 1997, 2000]
  2. list2 = [1, 2, 3, 4, 5, 6, 7 ]
  3. print "list1[0]: ", list1[0] #取值
  4. print "list2[1:5]: ", list2[1:5] #切片取值
  5. #结果
  6. list1[0]: physics
  7. list2[1:5]: [2, 3, 4, 5]
  8. #指定开始位置,不指定结束位置
  9. lst = [3, 4, 1, 4, 2, 5, 8]
  10. lst1 = lst[2:]
  11. print(lst1)
  12. #结果
  13. [1, 4, 2, 5, 8]

4、字符串和列表互为转换

  1. str="hello world hi"
  2. lst=str.split(' ')
  3. print(lst)
  4. #结果
  5. ['hello', 'world', 'hi']
  6. #将列表转为字符串
  7. lst=['hello', 'world', 'hi']
  8. str=' '.join(lst)
  9. print(str)
  10. #结果
  11. hello world hi

5、向列表中新增数据

  1. #append新增数据
  2. list = [] ## 空列表
  3. list.append('Google')
  4. print(list)
  5. #结果
  6. ['Google']
  7. #name_list.insert(下标, 数据)
  8. list=['a',1,'c','d',2,'e']
  9. list.insert(2,'a1')
  10. print(list)
  11. #结果
  12. ['a', 1, 'a1', 'c', 'd', 2, 'e']
  13. #追加数据 拆开序列追加到序列尾部
  14. list=['TOM', 'Lily', 'ROSE', 'TOM', [11, 22]]
  15. list.extend(['xiaoming', 'xiaohong'])
  16. print(list)
  17. #结果
  18. ['TOM', 'Lily', 'ROSE', 'TOM', [11, 22], 'xiaoming', 'xiaohong']
  19. #修改列表的值
  20. motorcycles = ['honda', 'yamaha', 'suzuki']
  21. print(motorcycles)
  22. motorcycles[0] = 'ducati'
  23. print(motorcycles)
  24. #结果
  25. ['honda', 'yamaha', 'suzuki']
  26. ['ducati', 'yamaha', 'suzuki']

6、删除列表元素

  1. #通过索引删除
  2. list=['TOM', 'Lily', 'ROSE', 'TOM', [11, 22]]
  3. del list(2)
  4. print(list)
  5. #结果
  6. ['TOM', 'Lily', 'TOM', [11, 22]]
  7. #删除指定的对象
  8. list=['TOM', 'Lily', 'ROSE', 'TOM', [11, 22]]
  9. list.remove('TOM')
  10. print(list)
  11. #结果
  12. ['Lily', 'ROSE', 'TOM', [11, 22]]

7、遍历列表

**

  1. #通过索引遍历
  2. lst = [3, 5, 8, 1, 2, 6, 9]
  3. for i in range(len(lst)):
  4. print(lst[i])
  5. #通过迭代器变了
  6. lst = [3, 5, 8, 1, 2, 6, 9]
  7. for item in lst:
  8. print(item)

8、列表操作符

操作符 功能作用
+ 连接两个列表
* 重复列表内容
in 成员操作符,判断某个数据是否在列表中
not in 成员操作符,判断某个数据是否在列表中

列表对 + 和 * 的操作符与字符串相似,现在,在交互式解释器里跟随我一起操作

  1. >>> lst1 = [1, 2, 3]
  2. >>> lst2 = [4, 5, 6]
  3. >>> lst1 + lst2
  4. [1, 2, 3, 4, 5, 6]
  5. >>> lst1*3
  6. [1, 2, 3, 1, 2, 3, 1, 2, 3]
  7. >>> 3 in lst1
  8. True
  9. >>> 4 not in lst2
  10. False

9、python嵌套列表

  1. lst = [1, [1, 5], 3, [9, 8, [1, 3]], 5]
  2. print(lst[3][2][0])
  3. print(lst[1:4])
  4. #结果
  5. 1
  6. [[1, 5], 3, [9, 8, [1, 3]]]

10、sort() 排序:升序(默认) 和 降序


前提: 数据之间全部具有可比性,数据要统一类型**

  1. list1 = [1, 3, 2, 5, 4, 6]
  2. list1.sort(reverse=True)
  3. print(list1)
  4. #结果
  5. [6, 5, 4, 3, 2, 1]
  1. def cmp(x):
  2. return int(x[:-4])
  3. lst = ['1.jpg', '2.jpg', '3.jpg', '10.jpg', '20.jpg']
  4. lst.sort(key=cmp, reverse=True)
  5. print(lst)
  6. #结果
  7. ['20.jpg', '10.jpg', '3.jpg', '2.jpg', '1.jpg']

11、python列表方法详解

下表是列表方法及功能说明

方法 功能
count() 统计某个元素在列表中出现的次数
append() 在列表末尾添加新的对象
extend 在列表末尾一次性追加另一个序列中的多个值
index 返回一个元素在列表中第一次出现的位置索引
insert() 将对象插入列表中的指定位置
pop() 删除列表中指定索引的元素,默认删除最后一个并返回该值
remove() 移除列表中某个值的第一个匹配项
reverse() 翻转列表
sort() 对列表进行排序