目录

  • 数据容器入门
  • 数据容器:list(列表)
  • list(列表)的遍历
  • 数据容器:tuple(元组)
  • 数据容器:str(字符串)
  • 数据容器(序列)的切片
  • 数据容器:set(集合)
  • 数据容器:dict(字典、映射)
  • 数据容器的通用操作
  • 数据容器入门

    python中的数据容器
    一种可以容纳多份数据的数据类型,容纳的每一份数据称之为1个元素,每一个元素,可以是任意类型的数据,如字符串,数字,布尔等。

    数据容器根据特点的不同,如:
    1.是否支持重复元素
    2.是否可以修改
    3.是否有序,等

    分为5类,分别是:
    列表(list)元组(tuple)字符串(str)集合(set)字典(dict)

    数据容器:list(列表)

    1、列表的定义

    # 字面量
    [元素1,元素2,元素3,元素4,...]
    
    # 定义变量
    变量名称 = [元素1,元素2,元素3,元素4,...]
    
    # 定义空列表
    变量名称 = []
    变量名称 = list()
    

    列表内的每一个数据,称之为元素
    ● 以**[]作为标识**
    ● 列表内每一个元素之间用,逗号隔开

    2、列表的下标索引


    注:需注意下标索引的取值范围,超出范围无法取出元素,并且会报错

    3、列表的常用操作
    列表除了可以:
    ● 定义
    ● 使用下标索引获取值
    以外,列表也提供了一系列功能:
    插入元素
    ● 删除元素
    ● 清空列表
    ● 修改元素
    ● 统计元素个数

    等等功能,这些功能我们称之为:列表的方法








    列表的特点:
    可以容纳多个元素
    ● 可以容纳不同类型的元素(混装)
    ● 数据是有序存储的(有下标序号)
    ● 允许重复数据存在
    ● 可以修改(增加或删除 元素等)

    list(列表)的遍历

    列表的遍历 – while循环

    列表的遍历 – for循环

    while循环和for循环的对比
    while循环和for循环,都是循环语句,但细节不同:
    ● 在循环控制上:
    while循环可以自定循环条件,并自行控制
    ● for循环不可以自定循环条件,只可以一个个从容器内取出数据

    ● 在无限循环上:
    while循环可以通过条件控制做到无限循环
    ● for循环理论上不可以,因为被遍历的容器容量不是无限的

    ● 在使用场景上:
    while循环适用于任何想要循环的场景
    ● for循环适用于,遍历数据容器的场景或简单的固定次数循环场景

    数据容器:tuple(元组)

    元组的定义
    元组一旦定义完成,就不可修改

    # 定义元组字面量
    (元素1,元素2,元素3,元素4,...)
    
    # 定义元组变量
    变量名称 = (元素1,元素2,元素3,元素4,...)
    
    # 定义空元组
    变量名称 = ()           # 方式1      
    变量名称 = tuple()      # 方式2
    

    元组的相关操作


    元组的特点

    元组的特点:
    ● 可以容纳多个数据
    ● 可以容纳不同类型的数据(混装)
    ● 数据是有序存储的(下标索引)
    ● 允许重复数据存在
    ● 不可修改(增加或删除元素)
    ● 支持for循环

    数据容器:str(字符串)

    再识字符串
    尽管字符串看起来并不像:列表、元组那样,一看就是存放了许多数据的容器。
    但不可否认的是,字符串同样也是数据容器的一员。

    字符串是字符的容器,一个字符可以存放任意数量的字符。
    如:字符串:“itheima”

    字符串的常用操作







    字符串的遍历

    字符串的特点
    ● 只可以存储字符串
    ● 长度任意(取决内存大小)
    ● 支持下标索引
    ● 允许重复字符串存在
    ● 不可以修改(增加或删除元素等)
    ● 支持for循环

    数据容器(序列)的切片

    序列

    序列的常用操作 ——切片
    序列支持切片吗,即:列表,元组,字符串,均支持进行切片操作
    切片:从一个序列中,取出一个子序列
    语法:序列[起始下标:结束下标:步长]
    表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列:
    ● 起始下标表示从何处开始,可以留空,留空视作从头开始
    ● 结束下标(不含)表示何处结束,可以留空,留空视作截取到结尾
    ● 步长表示,依次取元素的间隔
    ● 步长1表示,一个个去元素
    ● 步长2表示,每次跳过1个元素取
    ● 步长N表示,每次跳过N-1个元素取
    ● 步长为负数表示,反向取(注意,起始下标和结束下标也要反向标记)

    注:此操作不会影响序列本身,而是会得到一个新的序列(列表,元组,字符串)


    数据容器:set(集合)

    集合的定义
    我们目前接触到了列表、元组、字符串三个数据容器了。基本满足大多数的使用场景。
    为何又需要学习新的集合类型呢?
    通过特性来分析:
    ● 列表可修改、支持重复元素且有序
    ● 元组、字符串不可修改、支持重复元素且有序
    同学们,有没有看出一些局限?

    局限就在于:它们都支持重复元素
    如果场景需要对内容做去重处理,列表、元组、字符串就不方便了
    而集合,最主要的特点就是:不支持元素的重复(自带去重功能)、并且内容无序

    # 定义集合字面量
    {元素1,元素2,元素3,元素4,...}
    # 定义集合变量
    变量名称 = {元素1,元素2,元素3,元素4,...}
    # 定义空集合
    变量名称 = set()     
    

    和列表、元组、字符串等定义基本相同:
    ● 列表使用:[]
    ● 元组使用:()
    ● 字符串使用:“”
    ● 集合使用:{}

    集合的常用操作







    集合的特点:
    ● 可以容纳多个数据
    ● 可以容纳不同类型的数据(混装)
    ● 数据是无序存储的(不支持下标索引)
    ● 不允许重复数据存在
    ● 可以修改(增加或删除元素等)
    ● 支持for循环

    数据容器:dict(字典、映射)

    字典的定义
    字典的定义,同样使用{},不过存储的元素是一个个的:键值对,如下语法:

    # 定义字典字面量
    {key: value,key: value,........,key: value}
    # 定义字典变量
    my_dict = {key: value,key: value,........,key: value}
    # 定义空字典
    my_dict = {}            # 空字典定义方式1
    my_dict = dict()        # 空字典定义方式2
    

    ● 使用{}存储原始,每一个元素是一个键值对
    ● 每一个键值对包含key和value(用冒号分隔)
    ● 键值对之间使用逗号分隔
    ● key和value可以是任意类型的数据(key不可为字典)
    key不可重复,重复会对原有数据覆盖


    字典的常用操作




    字典的他特点:
    ● 可以容纳多个数据
    ● 可以容纳不同类型的数据
    ● 每一份数据是keyvalue键值对
    ● 可以通过key获取到value,key不可重复(重复会覆盖)
    ● 不支持下标索引
    ● 可以修改(增加或删除元素等)
    ● 支持for循环,不支持while循环

    数据容器对比总结


    数据容器的通用操作

    数据容器的通用操作 – 遍历
    数据容器尽管各自有各自的特点,但是它们有通用的一些操作。

    首先,在遍历上:
    ● 5类数据容器都支持for循环
    ● 列表、元组、字符串支持while循环,集合,字典不支持(无法下标索引)

    尽管遍历的形式各有不同,但是,它们都支持遍历操作

    数据容器的通用统计功能

    容器的通用转换功能

    容器通用排序功能

    容器通用功能总览

    作者:无世世

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python数据结构与容器

    发表回复