欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python的数据结构

程序员文章站 2022-06-05 19:28:11
...

目录

列表 []

列表的定义

操作列表

访问列表元素

确定列表长度

组织列表

修改列表元素

添加列表元素

删除列表元素

字典 {}

字典的定义

操作字典

访问字典

添加键-值对

修改字典中的值

删除键-值对

元祖 ()

元祖的定义

关于元组是不可变的

操作元祖

访问元祖

修改元祖

删除元祖

元组索引,截取

集合 {}

集合的定义

集合的特性

操作集合

添加元素

移除元素

计算集合元素个数

清空集合

判断元素是否在集合中存在

集合的运算


列表 []

列表的定义

  • 列表是由一系列按特定顺序排列的元素组成
  • 在Python中,用方括号[]来表示列表,并用逗号分隔其中的元素
  • 列表适合存储在程序运行期间可能变化的数据集
  • 列表中的元素可以是任意类型
  • 注意:我们一般用一个表示复数的名称来指定列表

操作列表

访问列表元素

  • 顺序打印
  • 倒序打印:lists.reverse() 从列表的最后一个元素开始倒着打印

确定列表长度

  • len(lists)

python的数据结构

组织列表

  • 使用方法sort()对列表进行永久性排序
  • 使用sorted()对列表进行临时排序

python的数据结构

修改列表元素

python的数据结构

添加列表元素

  • 一次性在列表的尾部添加多个元素:extend
  • 在列表末尾添加元素:lists.append()
  • 在列表中插入元素:lists.insert():
    # 第一个参数:插入数据的位置
    # 第二个参数:插入的数据

python的数据结构

删除列表元素

  • 使用del语句删除元素:del lists[索引]:如果你要从列表中删除一个元素,且不再以任何形式使用它,就是用del语句;

        注意:使用del语句删除列表元素,必须要知道元素所在列表的位置。

  • 使用方法pop()删除元素:lists.pop(索引):如果你要删除元素后还能继续使用它,就是用方法pop()

  • 根据值删除元素:lists.remove(元素)

  • 清空列表:lists.clear()

python的数据结构

 

字典 {}

字典的定义

  • 使用{}来表示字典,每一个元素都是有一个键值对(key:value)组成
  • key:不能重复,只能是不可变类型的数据(字符串,数值,元祖),建议key都使用字符串。
  • value:可以是任意类型的数据
  • 字典定义的两种方法:

python的数据结构

操作字典

访问字典

  • 通过键去找对应的值,如果键不存在会报错(KeyError)
  • get方法:如果键不存在返回的是None
  • keys:获取字典中所有键,可以通过list转换为一个列表
  • values:获取字典中所有的值,可以通过list转换为一个列表
  • items:获取字典中的键值对,可以通过list转换为一个列表

python的数据结构

添加键-值对

  • 通过键值对赋值
  • update:一次添加多个元素

python的数据结构

修改字典中的值

直接通过键去赋值,修改这个键所对应的值

python的数据结构

删除键-值对

  • pop方法:通过键去删除对应的键值对,返回对应的value
  • popitem: 删除字典中最后一个键值对
  • del方法: 将相应的键值对彻底删除

python的数据结构

 

元祖 ()

元祖的定义

  • 不可变的列表,用圆括号()来标识元祖,并用逗号分隔其中的变量
  • 元组中的数据可以是任意类型
  • 元祖通常用于保证某一语句或某一用户定义的函数可以安全地采用一组数值,也就意味着元祖内的数值不会改变
  • 注意点:元组没有添加数据的方法,也没有修改数据的方法,也没有删除数据的方法;元组是不可变类型的数据:定义的之后内部的数据不可以修改

关于元组是不可变的

所谓元组的不可变指的是元组所指向的内存中的内同不可变。

python的数据结构

操作元祖

访问元祖

元组可以使用下标索引来访问元组中的值

python的数据结构

修改元祖

元组中的元素值是不允许修改的,但我们可以对元组进行连接组合。

python的数据结构

删除元祖

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组

python的数据结构

元组索引,截取

因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素

python的数据结构

 

集合 {}

集合的定义

  • 集合(set)是一个无序的不重复元素序列。
  • 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

python的数据结构

集合的特性

  • 集合中只能存放不可变类型的数据(可以用来区分可变类型数据和不可变类型数据)
  • 集合中不能存在重复的元素(可以用来对数据进行去重处理)
  • 集合中的数据是无序的

操作集合

添加元素

  • 将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作:s.add( x )
  • 添加元素,且参数可以是列表,元组,字典等:s.update( x )

python的数据结构

移除元素

  • 将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误:s.remove( x )
  • 移除集合中的元素,且如果元素不存在,不会发生错误:s.discard( x )
  • 随机删除集合中的一个元素:s.pop()

python的数据结构

计算集合元素个数

len(s)

python的数据结构

清空集合

s.clear()

python的数据结构

判断元素是否在集合中存在

判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False:x in s

python的数据结构

集合的运算

交集 &

并集 |

差集 -

非交集 ^

python的数据结构

 

作业

第一题

现在有一个列表 clients=['IH', 26, 'residential']

第一步:请将代码将上面的列表,改写成这个样子 clients=['name', 'IH', 'id', 26, 'type', 'residential']

第二步:对列表进行升序排序

第三步:对列表进行倒序排序

 

第二题

有下面几个数据:

client = ('IH', 26)   affiliate = ('SMS Testing', 50001)   sms = ('om', 1)

请进行相关操作变为如下字典:

test = {'IH': 26, 'SMS Testing': 50001, 'om', 1}

 

第三题

请指出下面哪些为可变类型的数据,哪些为不可变类型的数据

 

python的数据结构

第四题

请分别列出学过的字符串方法,列表方法,字典的方法,元祖的方法,集合的方法,并指出方法的作用

 

第五题

请获取下面数据中的token和reg_name

python的数据结构

 

相关标签: Python 3.x