列表

1:序列(sequence)

1.1:序列的基本概念

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

1.2:序列的分类

1.2.1:按元素的变化

  • 可变序列
    1.序列中的元素可以改变**(也就是可以对序列进行增删改查操作)**
    2.可变序列有***(列表,字典)***
  • 不可变序列
    1.序列中的元素不可以进行改变**(也就是不可以对序列进行增删改查操作)**
    2.不可变序列有***(字符串,元组)***

1.2.2:按元素的排序

  • 有序序列
    1.按照读取的顺序进行排序
    2.有序序列有(列表,字符串)
  • 无序序列
    1.不是按照读取的顺序进行排序(使用哈希函数进行排序)
    2.无序序列有(字典)
    3.字典的查询是根据键来查找值的故可以是无序的

2:列表(list)

  • 列表是python中的一个对象
  • 列表的作用:
    1.列表中可以保存多个有序的数据
    2.列表的存储是动态的***也就是说不用的担心列表会存满
    3.列表是用来存储对象的对象的***列表是用来存储对象的id的

2.1:列表的使用

2.1.1:列表的创建

  • 1.使用中括号“[]“进行创建
list_1 = []
  • 2.使用list()函数进行创建
list_2 = list()
  • 列表的切片使用
    • 切片是指从现有列表中获取一个子列表
    • 通过切片获取指定的元素
    • 切片的语法:列表[起始:结束:步长)
    • 注意:切片操作是一个左开右闭的,不能取到最后一个元素
list_1 = [1,2,3,4,5,6,7]
print(list_2 = list_1[1:6:3])
--------------------------------------------
输出:[2,5]
  • 通过切片获取元素时,会包括起始位置的元素,不会包括结束位置的元素
  • 起始位置和结束位置的索引可以不写
    1.如果省略结束位置, 则会从当前的开始位置一直截取到最后
    2.如果省略开始位置, 则会从第一个元素截取到结束的元素,但是不包括结束的元素
    3.如果开始位置和结束位置都省略, 则则会从第一个元素开始截取到最后一个元素
    4.切片操作的默认步长是1,默认截取的顺序是自左向右,可以把步长改为-1,来实现逆序输出列表中的元素,自右向左截取
    5.步长表示每次获取元素的间隔,默认是1(可以省略不写)
    6.步长不能是0,但可以是是负数
list_1 = [1,2,3,4,5,6,7]
1.省略结束位置:
print(list_2 = list_1[3:])
---------------------------
输出:[4,5,6,7]
================================================
2.省略开始位置:
print(list_2 = llist_1[:6])
----------------------------
输出:[1,2,3,4,5,6]
================================================
3.省略开头和结尾:
print(list_2 = list_1[:])
------------------------------------
[1,2,3,4,5,6,7]

3:通用操作

3.1:”+“和”*“

  • ”+“
    可以将两个列表拼接成一个列表
  • ”*“
    可以将列表重复指定的次数 (注意2个列表不能够做乘法,要和整数做乘法运算)

3.2:in和not in (成员运算符)

  • in和not in 是用来判断一个数据是否在另一个序列中
    1.in用来检查指定元素是否在列表当中
    2.not in 用来检查指定元素是否不在列表当中

3.3:len()

  • 用来求序列中元素的个数
    ###3.4:max()和min()
  • max()
    用来求序列中最大的数,若是字符则求Ascll码的大小
  • min()
    用来求序列中的最小的数,若是字符则求Ascll码的大小

3.4:list.index(str, start, end=lenstring)

  • str:在list中查询的子字符串
  • start:在序列中查询的起始位置
  • end :在序列中查询的结束位置
  • 若要查询的子字符串在序列中不存在,则报错
  • 该方法与find()方法相似,只不过find()方法中子字符串不存在返回-1

4:修改列表

  • 通过切片来修改(其实就是给切片的内容重新赋值,但是赋值的内容必须是一个序列)
  • 当设置了步长时,序列中元素的个数必须和切片中元素的个数保持一致
  • 通过切片来删除元素(使用的是关键字(del)删除)
    • del list[起始 : 结束]
    • list = []
  • pop() 删除指定元素,根据索引删除并返回指定元素
  • remove() 删除指定元素 (如果相同值的元素有多个,只会删除第一个)

5:列表的方法

  • append() :向列表的最后添加一个元素
  • insert(arg1,arg2) :向列表指定位置插入一个元素 参数1:要插入的位置 参数2:要插入的元素
  • extend(iterable) 使用一个新的序列来扩展当前序列(它会将该序列的中元素添加到列表中) 参数需要传递一个序列***相当于通用方法里的“+”操作***
  • reverse() 翻转列表
  • sort(key=None,reverse=False) 用来对列表中的元素进行排序,
    • reverse:True反序; False 正序
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值