Python容器

python容器主要介绍四部分内容,分别是列表、元组、字典和集合。最后再比较一下这几种数据结构。这一部分内容在python中是非常重要的部分,掌握好了这几种数据结构在处理数据的时候就会很方便,但是前提条件是对这几种数据结构的特性要很了解。在实际编程中,最常见的工作就是将数据进行拆分和和合并,将其加工为特定的形式,而数据结构就是这种利器。

一、列表

列表是可变的,不同于字符串,它可以直接对原始列表中的元素进行修改。
列表中的元素可以是不同的数据类型的元素,而字符串中的元素都是同一数据类型的元素(字符)

创建列表
    ○ []
    ○ list()
    ○ 列表推导式
使用list()将其他数据类型转换为列表
使用[offset]来获取元素
使用[offset]来修改元素
列表中的元素可以是列表
提取一定范围的元素
    ○ 使用切片
添加元素
    ○ Append()        在尾部添加元素
    ○ Insert()           在指定位置添加元素
合并列表
    ○ Extend()
    ○ +=
删除元素
    ○ Del       它是python语句,而不是列表方法
    ○ Pop()     默认删除尾部元素,可以通过指定数字来删除指定位置的元素
        § 可以通过pop()来实现栈和队列的功能
    ○ Remove()     删除具有指定值的元素
查询元素
    ○ Index()      查询具有特定值的元素位置
    ○ In      利用in来判断一个值是否存在与列表中
记录特定值出现的次数
    ○ Count()
将列表转换为字符串
    ○ Join()    注意:join() 是字符串方法,而不是列表方法
列表元素排序
    ○ Sort()     改变原列表内容
    ○ Sorted()  不改变原列表内容
    ○ 默认为升序顺序,使用reverse = True来变为降序排列
获取列表长度
    ○ Len()
列表的赋值和复制
    ○ 使用 = 来将一个列表赋值给别的变量,通过变量能直接修改列表中的元素,指的是同一个对象
    ○ Copy()   将一个列表的值复制到另一个新的列表中,是两个不同的对象
二、元组

元组是不可变类型,可以把元组理解为一个常量列表

创建元组
    ○ ()   创建一个空元组
    ○ 元素后面使用逗号来自动生成元组
将其他类型数据转换为元组
    ○ Tuple()
元组解包
    ○ 直接将元组赋值给多个变量进行接收
变量交换
    ○ 不需要借助临时变量,直接对变量值进行交换
三、字典

字典是可变数据类型,同列表一样,那有了列表为什么还需要字典呢?因为列表中的元素是有顺序的,列表是按下标来进行查找元素的,当列表元素多的时候,查找起来就不是很方便了。而字典中的元素顺序不重要,而可以通过键来访问元素。但是注意一点:字典的键必须是不可变对象,因此列表、字典、集合都不能作为字典的键,而元组可以作为字典的键。

字典的创建
    ○ {}
将双值子序列转换为字典
○ Dict()
○ 双值子序列可以理解为一种数据类型中有两个元素,比如说列表中含有的元素为('a','b')或者是含两个字符的字符串"ab"
添加或修改元素
○[key]
字典的合并
 ○ Update()
删除元素
 ○  Del     删除具有指定键的元素
 ○  Clear()      删除所有元素    或者   直接给字典变量赋值一个{}也是删除所有元素
判断一个键是否存在
○ in 
获取字典元素
○ [key]
在使用【key】获取元素之前,为了避免找不到相应元素而报错,可以事先通过in测试键是否存在
○ Get()
获取所有键
○Keys()    返回dict_keys(),它是键的迭代形式,可以通过list()来将dict_keys转换为列表类型
获取所有值
○ Values()    返回dict_keys(),它是值的迭代形式,可以通过list()来将dict_keys转换为列表类型
获取所有键值对
○ Items()     返回dict_keys(),它是键值对的迭代形式,可以通过list()来将dict_keys转换为列表类型
字典的赋值和复制
 同列表的赋值和复制copy()
四、集合

可以简单把集合理解为舍弃了值的字典,而且键与键之间也不允许重复。

集合的创建
○ Set()   
○ 用大括号将一系列值以逗号隔开,比如{1,2,3,4,5}
将其他类型转换为集合
○ Set()
当字典作为参数传入时,只有键会被使用
使用in测试值是否存在
集合的操作运算
    ○ 交      & 或者 intersection()
    ○ 并      |  或者  union()
    ○ 差      -   或者  difference()
    ○ 异或   ^   或者 symmetric_difference()
五、几种数据结构的比较
  • 这几种数据结构都可以通关[]来对单个元素进行访问
  • 字符串和元组是不可变数据类型,而列表和字典是可变数据类型
  • 这几种数据结构可以进行自由组合,形成更大更复杂的结构,而唯一的限制来源于这些内置的数据类型本身,比如字典的键必须是不可变对象,因此列表、字典、集合都不能作为字典的键,而元组可以作为字典的键。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值