关于列表

1 序列 (sequence)

1.1 序列的基本概念

  • 所谓序列,指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号(称为索引)访问它们。

1.2 序列的分类

  • 序列类型包括字符串、列表、元组、集合和字典,这些序列支持以下几种通用的操作,但比较特殊的是,集合和字典不支持索引、切片、相加和相乘操作。

2 列表

2.1 列表的使用

  • 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
  • 列表的数据项不需要具有相同的类型
  • 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]

2.2 切片

  • 切片操作是访问序列中元素的另一种方法,它可以访问一定范围内的元素,通过切片操作,可以生成一个新的序列。
  • 实现切片操作的语法格式如下:
sname[start : end : step]
  • 其中,各个参数的含义分别是:
    • sname:表示序列的名称;
    • start:表示切片的开始索引位置(包括该位置),此参数也可以不指定,会默认为 0,也就是从序列的开头进行切片;
    • end:表示切片的结束索引位置(不包括该位置),如果不指定,则默认为序列的长度;
    • step:表示在切片过程中,隔几个存储位置(包含当前位置)取一次元素,也就是说,如果 step 的值大于 1,则在进行切片去序列元素时,会“跳跃式”的取元素。如果省略设置 step 的值,则最后一个冒号就可以省略。不能是0,但可以是负值。

3 通用操作

  • 相加
    • Python 中,支持两种类型相同的序列使用“+”运算符做相加操作,它会将两个序列进行连接,但不会去除重复的元素。

这里所说的“类型相同”,指的是“+”运算符的两侧序列要么都是序列类型,要么都是元组类型,要么都是字符串。

lst1 = [1, 2, 3]
lst2 = [4, 5, 6]
print(lst1+lst2)
[1, 2, 3, 4, 5, 6]
  • 相乘
    • Python 中,使用数字 n 乘以一个序列会生成新的序列,其内容为原来序列被重复 n 次的结果。
lst = [1, 2, 3]
print(lst*2)
[1, 2, 3, 1, 2, 3]
  • in 和 not in
    • Python 中,可以使用 in 关键字检查某元素是否为序列的成员
    • not in 关键字,它用法检查某个元素是否不包含在指定的序列中,
lst = [1,2,3]
print(1 in lst)
print(4 not in lst)
True
True
  • 内置函数
函数功能
len()计算序列的长度,即返回序列中包含多少个元素。
max()找出序列中的最大元素。注意,对序列使用
sum()函数时,做加和操作的必须都是数字,不能是字符或字符串,否则该函数将抛出异常,因为解释器无法判定是要做连接操作(+ 运算符可以连接两个序列),还是做加和操作。
min()找出序列中的最小元素。
list()将序列转换为列表。
str()将序列转换为字符串。
sum()计算元素和。
sorted()对元素进行排序。
reversed()反向序列中的元素。
list.index(x[, start[, end]])第⼀个参数 获取指定元素在列表中的位置, 第⼆个参数 表示查找的起始位置,第三个参数 表示查找的结束位置
list.count(x)统计指定元素在列表中出现的个数
  • 修改列表
    • append() 向列表的最后添加⼀个元素
    • insert(arg1,arg2) 像列表指定位置插⼊⼀个元素 参数1:要插⼊的位置 参数2:要插⼊的元素
    • extend(iterable) 使⽤⼀个新的序列来扩展当前序列(它会将该序列的中元素添加到列表中) 参数需要传递⼀个序列
    • pop() 根据索引删除并返回指定元素
    • remove() 删除指定元素 (如果相同值的元素有多个,只会删除第⼀个

4 遍历列表

4.1 for循环

  • Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串
  • 语法:
    • for循环的语法格式如下:
for iterating_var in sequence:
   statements(s)
  • 流程图
  • 在这里插入图片描述

4.2 range(start, stop[, step]

  • Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。
  • 函数语法
range(stop)
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)
>>>range(5)
range(0, 5)
>>> for i in range(5):
...     print(i)
... 
0
1
2
3
4
>>> list(range(5))
[0, 1, 2, 3, 4]
>>> list(range(0))
[]
>>>
>>>list(range(0, 30, 5))
[0, 5, 10, 15, 20, 25]
>>> list(range(0, 10, 2))
[0, 2, 4, 6, 8]
>>> list(range(0, -10, -1))
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> list(range(1, 0))
[]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值