第三章 内建数据结构(列表,字典,元组,集合)、函数及文件

1、元组

元组是一个固定的长度、不可变的对象序列。创建元组的最简单的方法就是用逗号分隔序列值。

在这里插入图片描述

你可以使用tuple函数将任意序列或迭代器转换为元组

在这里插入图片描述

虽然元组中存储的对象其自身是可变的,但是元组一旦创建,其各个位置上的对象是无法修改的。

在这里插入图片描述

如果元组中的某一对象是可变的,可以在内部进行修改

在这里插入图片描述

元组的拆包

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、列表

在这里插入图片描述

增加或移除数据

append:将元素添加到列表的尾部
insert:将元素添加到指定的位置
pop:将特定位置元素删除并返回该元素
remove:定位到第一个满足要求的元素并移除他
在这里插入图片描述

连接和联合列表

在这里插入图片描述

排序

sort()函数:原来基础上排序,未建立新的
sorted()函数:建立一个已排序列表
在这里插入图片描述
在这里插入图片描述

二分搜索和已排序列表的维护

内建的bisect模块实现了二分搜索和已排序列表的插值。bisect.bisect会找到元素应该被插入的位置,并保持元素排序,为bisect.insort将元素插入到相应的位置。
声明bisect并不会检查列表是否已经排好序,因此对未排序的列表使用该模块虽然不会报错,但是会产生不正确的结果。
在这里插入图片描述

切片

在这里插入图片描述
在这里插入图片描述

内置序列函数
1、enumerate函数返回元素的值和元素的索引

在这里插入图片描述

2、zip函数:将列表、元组或其他序列的元素配对,新建一个元组构成的列表:

在这里插入图片描述
处理任意长度的组合,生成列表长度由最短的序列决定:
在这里插入图片描述
遍历:
在这里插入图片描述将已配对的拆分:
在这里插入图片描述
反转列表:
reversed是一个生成器,所以没有实例化,需要list来显示
在这里插入图片描述

3、字典

在这里插入图片描述

使用del或者pop方法删除值,pop在删除后会返回被删除的值,并删除对应的键。

在这里插入图片描述
在这里插入图片描述

keys和values方法分贝提供字典键、值的迭代器,update合并更新字典

在这里插入图片描述

从序列生成字典

方法1:

mapping = {}
for key, value in zip(key_list, value_list):
    mapping[key] = value

方法2:

mapping = dict(zip(range(5), reversed(range(5))))
mapping

在这里插入图片描述

默认值

在这里插入图片描述
setdefault方法优化上面的循环:
在这里插入图片描述

有效的字典键类型

字典的值可以是任意类型的,但是字典的键必须是不可变的对象,比如标量类型(整数、浮点数、字符串)或元组(且元组内对象也必须是不可变对象)。这里使用哈希化,可以被哈希化就可以用作字典的键。
在这里插入图片描述
为了将列表作为键,一种方式就是将其转换为元组,元组内部的元素都是可以哈希化的,自己也可以哈希化的。
在这里插入图片描述

4、集合

集合是一种无序且元素唯一的容器,和字典一样都是大括号,只是只有键没有值
在这里插入图片描述
集合支持数学上的集合操作,联合、交际、差集、对称差集等
在这里插入图片描述
其他常用的集合运算:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

集合和字典类似,集合的元素必须是不可变的没如果包含列表类型的元素,必须先转换为元组,

在这里插入图片描述

5、列表、集合和字典的推导式

给定一个字符串列表,过滤出长度大于2的,并将字母改为大写
在这里插入图片描述
如果有一个字符串列表,假设我们想要有一个集合,集合包含列表中字符串的长度。
在这里插入图片描述
同理字典:
在这里插入图片描述

嵌套列表生成器

现有一个包含列表的列表,想要获得名字中包含两个及以上的e的名字的列表
在这里插入图片描述
扁平化一个含有整数元组的列表
在这里插入图片描述
将包含元组的的列表变成二维列表
在这里插入图片描述

6、函数

运用匿名函数,根据字符串中不同字母的数量对一个字符串几个进行排序
在这里插入图片描述

7、itertools模块

标准库中的itertools模块是适应于大多数数据算法的生成器集合。例如groupby可以根据任意的序列和一个函数,通过函数的返回值对序列中连续的元素进行分组。
在这里插入图片描述

8、文件与操作系统

rstrip() 删除 string 字符串末尾的指定字符(默认为空格)
在这里插入图片描述
打开文件进行读取或写入,需要使用内建函数open和绝对、相对路径:
在这里插入图片描述
可以用with,文件会在with代码块结束后自动释放
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值