1. 序列 (sequence)

1.1 基本概念

  • 序列是Python 中最基本的一种数据结构。序列用于保存一组有序的数据,所有的数据在序列当中都有一个唯一的位置 (索引) 并且序列中的数据会按照添加的顺序来分配索引
  • 数据结构指的是计算机中数据存储的方式

1.2 序列的分类

  • 可变序列(序列中的元素可以改变):例如 列表(list)、字典(dict)
  • 不可变序列(序列中的元素不能改变):例如 字符串(str)、 元组(tuple)

2.列表(list)

2.1 什么是列表?

python取列表前几个数_python取列表前几个数

  • 上面[‘小明’,‘小红’,‘小刚’] 就是一个列表
  • 一个列表需要用中括号 [ ] 把里面的各种数据框起来,里面的每一个数据叫作“元素”。每个元素之间都要用英文逗号隔开。
  • 列表是Python中的一个对象
  • 列表的作用:
  • 列表中可以保存多个有序的数据
  • 列表是用来存储对象的对象

2.2 从列表提取单个元素

  • 偏移量: 列表中的各个元素,好比教室里的某排学生那样,是有序地排列的,也就是说,每个元素都有自己的位置编号(即偏移量)。

    1、偏移量都是从0开始的,而非从1开始。
    2、列表名后加带偏移量的中括号,就能取到相应位置的元素。

2.3 从列表提取多个元素

切片:

  • 切片是指从现有列表中获得一个子列表
  • 通过切片来获取指定的元素
  • 语法:列表 [起始 :结束:步长]
  • 通过切片获取元素时,会包括起始位置的元素,不包括结束位置的元素
  • 起始位置和结束位置的索引可以不写
  • 如果省略结束位置,则会从当前的开始位置一直截取到最后
  • 如果省略开始位置,则会从第一个元素截取到结束的元素,但是不包括结束的元素
  • 如果开始位置和结束位置都省略,则会从第一个元素开始截取到最后一个元素
  • 步长表示每次获取元素的间隔,默认是1 (可以省略不写)
  • 步长不能为 0,但可以是负数
1 list = [5,6,7,8,9,]
2
3 print(list[:])
4 #打印出[5,6,7,8,9,]
5 print(list[2:])
6 #打印出[7,8,9,]
7 print(list[:2])
8 #打印出[5,6]
9 print(list[1:3])
10 #打印出[6,7]
11 print(list[2:4])
12 #打印出[7,8]
13 print(list[::2])
14 #打印出[5,7,9]
15 print(list[::-1])
16 #打印出[9,8,7,6,5]

切片口诀:左右空,取到头;左要取,右不取

  • 前半句:冒号左边空,就要从偏移量为0的元素开始取;右边空,就要取到列表的最后一个元素。
  • 后半句:冒号左边数字对应的元素要拿,右边的不动

注意细节:偏移量取到的是列表中的元素,但是切片截取到的是列表的某部分,还是列表

1 hero = ['钢铁侠','绿巨人','蜘蛛侠']
2 print(hero[2])   # 蜘蛛侠
3 print(hero[2:])  #['蜘蛛侠']

3. 通用操作

  • + 和 *
  • + 可以将两个列表拼接成一个列表
  • * 可以将列表重复指定的次数( 注意 两个列表不能够做乘法,要和整数做乘法运算)
  • in 和 not in
  • in 用来检查指定元素是否在列表当中
  • not in 用来检查指定元素是否不在列表中
  • len () 获取列表中元素的个数
  • max()获取列表中最大值
  • min() 获取列表中最小值
  • list . index(x ,start, end)
  • 第一个参数,获取指定元素在列表中的位置
  • 第二个元素,表示查找的起始位置
  • 第三个元素,表示查找的结束位置
  • list . count(x) 统计指定元素在列表中出现的个数

4.修改列表

  • 通过切片来修改(起始就是给切片的内容重新赋值,但是赋值的内容必须是一个序列)
  • 当设置了步长时,序列中元素的个数必须和切片中元素的个数保持一致
  • 通过切片来删除元素
  • del list [起始 :结束]
  • list = [ ]

5.列表的方法

  • append() 向列表的最后添加一个元素,用append()给列表增加元素,每次只能增加一个元素。
  • insert(arg1, arg2) 向列表指定的位置插入一个元素。 参数1:要插入的位置, 参数2:要插入的元素
  • extend (iterable) 使用一个新的序列来扩展当前序列(它会将该序列中方的元素添加到列表中)
  • pop() 根据索引删除并返回指定元素
  • remove()删除指定元素(如果相同值的元素有多个,只会删除第一个)
  • reverse () 翻转列表
  • sort (key = None , reverse = False)用来对列表中的元素进行排序
    * True 反序
    * False 正序
  • del () 可以根据索引从列表中删除一个元素,也可以用于从列表中删除片段或清楚整个列表 (原理和切片类似,左取右不取)

6.遍历列表

6.1 for 循环

  • 通过 for 循环来遍历列表
1 语法
2 for 变量 in 序列(遍历的规则):
3     代码块
  • 注意 for 循环的代码块会执行多次,序列中有几个元素就会执行几次。每次执行一次就会将序列中的一个元素赋值给变量,所以我们可以通过变量来获取列表中的元素

6.2 range(start, stop,step)

参数说明

  • start: 计数从 start 开始。默认是从0开始。例如 range(5) 等价于 range(0,5)
  • stop:计数到 stop 结束,但不包括 stop 。例如: range(0,5) 是 [0,1,2,3,4],不包括 5
  • step :步长,默认为 1。例如: range(0,5) 等价于range(0,5,1)