• 深度之眼(五)——Python组合数据类型


    接深度之眼(一)和(二)

    零、导读

    在这里插入图片描述

    4.1 列表

    4.1.1 列表的表达

    • 序列类型:内部元素有位置关系,能通过位置序号访问其中元素
    • 列表是一个可以使用多种类型元素,支持元素增、删、改、查操作的序列类型
      在这里插入图片描述
      在这里插入图片描述
    • 另一种产生方式: list(可迭代对象)
    • 可迭代对象包括:字符串、元组、集合. range()等
    1. 字符串转列表
    list("人工智能是未来的趋势")
    
    • 1

    在这里插入图片描述
    2. 元组转列表

    list(("我","们","很","像"))
    
    • 1

    在这里插入图片描述
    3. 集合转列表

    list({"李雷","韩梅梅","hello","world"})
    
    • 1

    在这里插入图片描述
    4. 特殊的range()

    for i in [0,1,2,3,4,5]:
        print(i)
    for i in range(6):
        print(i)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    range(起始数字、中止数字、数字间隔)
    在这里插入图片描述

    for i in range(1,11,2):
    	print(i)
    
    • 1
    • 2

    在这里插入图片描述

    中止的数字是取不到的

    • range()转列表
      在这里插入图片描述

    4.1.2 列表的性质

    • 列表的长度——len(列表)
    len([1,2,3,4])
    
    • 1

    在这里插入图片描述

    • 列表的索引——与同为序列类型的字符串完全相同

    变量名[位置编号]
    正向索引从0开始
    反向索引从-1开始

    cars = ["BYD","BMW","AUDI","TOYOTA"]
    print(cars[0])
    print(cars[-1])
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    • 列表的切片
      变量名[开始位置:结束位置:切片间隔]
    • 正向切片
      在这里插入图片描述
    cars = ["BYD","BMW","AUDI","TOYOTA"]
    print(cars[:3])
    print(cars[1:4:2])
    print(cars[:])
    print(cars[-4:-2])
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    • 反向切片
      在这里插入图片描述
    cars = ["BYD","BMW","AUDI","TOYOTA"]
    print(cars[:-4:-1])
    print(cars[::-1])
    
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    4.1.3 列表的操作符

    * 用list1 + list2

    4.1.4 列表的操作方式(详细)

    1.、增加元素

    • 在末尾增加元素——列表 append(待增元素)
      在这里插入图片描述
    • 在任意位置插入元素——列表insert(位置编号,待增元素)
    • 在位置编号相应元素前插入待增元素
      在这里插入图片描述
    • 在末尾整体并入另一个列表——列表1.extend(列表2)
      在这里插入图片描述
      2、删除元素
      在这里插入图片描述
      在这里插入图片描述
    cars = ["BYD","BMW","AUDI","TOYOTA"]
    cars.append("CCTV")
    cars.insert(1, "BBC")
    cars.pop(2)
    cars
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    删除列表里某个所有元素

    在这里插入图片描述
    3、查找元素

    • 列表中第一次出现待查元素的位置——列表.index(待查元素)
    • 不存在会报错在这里插入图片描述
    cars = ["BYD","BMW","AUDI","TOYOTA"]
    cars.append("CCTV")
    cars.insert(1, "BBC")
    cars.pop(2)
    ind = cars.index("CCTV")
    print(ind)
    cars
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述
    4、修改元素

    • 通过“先索引后赋值”的方式,对元素进行修改——列表名[位置] = 新值
      在这里插入图片描述
      5、列表的赋值

    • 错误的方式
      在这里插入图片描述

    情况:删除旧列表某个元素后,新列表也会随之更新

    • 正确方式——浅拷贝
    1. 方法1:列表.copy()
      在这里插入图片描述
    2. 方法2:列表[:]
      在这里插入图片描述
      6、列表的排序
    • 使用列表.sort()对裂变进行永久排序
    • 直接在列表上进行操作,无返回值
      在这里插入图片描述
    • 使用sorted(列表)对列表进行临时排序
    • 原列表保持不变,返回排序后的列表

    在这里插入图片描述
    7、列表的反转

    • 使用列表. reverse()对列表进行永久翻转
    • 直接在列表上进行操作,无返回值
      在这里插入图片描述
      8、使用for循环对列表进制遍历
      在这里插入图片描述

    4.2 元组

    4.2.1 元组的表达

    • 元组是一个可以使用多种类型元素,一旦定义,内部元素不支持增、删和修改操作的序列类型
      通俗的讲,可以将元组视作“不可变的列表”
    names = ("Peter","Pual","Mary")
    
    • 1

    4.2.2 元组的操作

    • 不支持元素增加、删除、修改
    • 其他操作与列表完全一致

    4.2.3 元组的常见用处

    打包与解包

    • 例1
      在这里插入图片描述
    • 例2
      在这里插入图片描述

    4.3 字典

    4.3.1 字典的表达

    • 映射类型:通过键”-*值”的映射实现数据存储和查找

    • 常规的字典是无序的
      在这里插入图片描述
      字典键的要求

    • 1、字典的键不能重复
      在这里插入图片描述

    • 2、字典的键必须是不可变类型,如果键可变,就找不到对应存储的值了

    • 不可变类型:数字、字符串、元组。一旦确定, 它自己就是它自己,变了就不是它了。

    • 可变类型:列表、字典、集合。-一旦确定,还可以随意增删改。
      在这里插入图片描述
      在这里插入图片描述

    4.3.2 字典的性质

    在这里插入图片描述

    4.3.3 字典的操作方法

    1、增加键值对

    • 变量名[新键] = 新值
      在这里插入图片描述
      2、删除键值对
    • 通过del变量名[待删除健]
      在这里插入图片描述
    • 通过变量名.pop(待删除健)
      在这里插入图片描述
    • 变量名.popitem() 随机删除一个键值对,并以元组返回删除键值对
      在这里插入图片描述
      3、修改值
    • 通过先索引后赋值的方式对相应的值进行修改
      在这里插入图片描述

    4、d.get( )方法(多看看,有点晕)
    d.get(key,default)从字典d中获取键key对应的值, 如果没有这个键,则返回default

    • 小例子:统计“牛奶奶找刘奶奶买牛奶”中字符的出现频率
      在这里插入图片描述
      5、d.keys( ) d.values( )方法
      在这里插入图片描述
      6、d.items( )方法及宇典的遍历
      在这里插入图片描述

    4.4 集合

    4.4.1 集合的表达

    • 一系列互不相等元素的无序集合
    • 元素必须是不可变类型:数字,字符串或元组,可视作字典的键
    • 可以看做是没有值,或者值为None的字典
      在这里插入图片描述

    4.4.2集合的运算

    • 小例子通过集合进行交集并集的运算
      在这里插入图片描述
      • 语文和数学两门均为A的学员
      • S & T返回一个新集合,包括同时在集合S和T中的元素
        在这里插入图片描述
      • 语文或数学至少- -门为A的学员
      • S|T返回一个新集合,包括集合S和T中的所有元素
        在这里插入图片描述
        在这里插入图片描述

    4.4.3 集合的操作方法

    • 增加元素一S.add(x)
      在这里插入图片描述
    • 移除元素一S.remoxe(x)
      在这里插入图片描述
    • 集合的长度一len(S)
      在这里插入图片描述
    • 集合的遍历——借助for循环
      在这里插入图片描述

    小结

    列表
    在这里插入图片描述

    元组
    在这里插入图片描述

    字典
    在这里插入图片描述

    集合
    在这里插入图片描述

  • 相关阅读:
    python中多行注释与取消注释
    小程序如何设置自取模式下的服务方式
    C++ 语言学习 day15 复习 (7)
    大二Web课程设计:HTML+CSS学校静态网页设计——南京师范大学泰州学院(11页)
    C++:容器list的介绍及使用
    std::function
    最新区块链论文录用资讯CCF B—DSN 2024 共8篇
    Node.js 零基础入门 Node.js 零基础入门第三天 3.3 Express 中间件
    跟我学c++高级篇——多重模板的扩展
    尿频中医如何辩证治疗
  • 原文地址:https://blog.csdn.net/m0_52592798/article/details/125592905