利用python进行数据分析(二)

学习笔记2

内建数据结构、函数及文件


# 前言

内建功能主要被设计为与python内建数据操作工具协同使用
python的常用数据结构:元组、列表、字典、集合


提示:以下是本篇文章正文内容,下面案例可供参考

一、数据结构与序列

1.元组

元组是一种长度固定、不可变的python序列。

创建元组:
在这里插入图片描述
元素是元组的元组:(可以看出该元组的元素是两个元组)
在这里插入图片描述
利用tuple函数将任意序列1或迭代器2转换为数组:
在这里插入图片描述
可以通过序列索引来取得里面指定的元素(这一点同很多其它语言类似)
在这里插入图片描述
元组是不可变的
在这里插入图片描述
但是如果元组里面包含一个可变的对象,那么这个对象内部就是可变的在这里插入图片描述
元组之间可以通过+来实现连接
在这里插入图片描述
元组可以通过 * 来复制
对象自身并没有复制,只是指向他们的引用进行了复制.
在这里插入图片描述
元组也可以进行拆包(嵌套也是可以的)
在这里插入图片描述
(拆包常用场景就是遍历元组或列表组成的序列)

seq = [(1,2,3),(4,5,6),(7,8,9)]
for a,b,c in seq:
    print('a={0},b={1},c={2}'.format(a,b,c))


*rest 可以用来替代任意长度的位置参数列表
在这里插入图片描述

2.列表

列表的长度是可以变化的,所包含的内容也是可以修改的,一般使用中括号[]或者list类型函数来定义列表。

列表常用函数
append:增加元素到列表尾部
insert: 插入到列表任何位置
pop:将知道哪个位置的元素移除
remove:将定位到第一个符合要求的值并且移除
in:关键字可以检查一个值是否在列表内
(in 检查是否存在效率是低下的,在列表中进行线性的扫描,而字典和集合是基于哈希表,同时检查所有元素)

连接和联合函数、排序
可以利用 + 将两个列表进行联合
extend 可以向该列表添加多个元素

切片
基本形式是将start:stop传入到索引符号[]中。
seq[::2]表示每隔多少个数取一个值

enumerate 可以追踪到当前元素的索引
zip 将列表、元组或其他序列的元素配对,新建一个元组构成的列表

在这里插入图片描述

3.字典

update 合并字典(键值相同时,会被覆盖)
del、pop  删除值

4.集合

集合是一个无序且元素唯一的容器

set :函数会去掉重复的数据,而保留一个
union |  :两个集合的并集
& intersection :获得交集

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


  1. 序列
    1、可迭代;
    2、支持下标访问,即实现了 getitem() 方法,同时定义了 len() 方法,可通过 len() 方法获取长度;
    3、内置的序列类型:list、str、tuple、bytes;
    4、dict 同样支持 getitem() 和 len(),但它不归属于序列类型,它是映射类型,因为它不能根据下标查找,只能根据 key 来查找;
    5、抽象类 collections.abc.Sequence 还提供了很多方法,比如 count()、index()、contains()、reversed()可用于扩展;
    连接:link ↩︎

  2. 迭代器
    1、一个表示数据流的对象,可通过重复调用 next(或使用内置函数next())方法来获取元素。当没有元素存在时,抛出 StopIteration 异常;
    2、iter(obj)接受一个迭代器作为参数时,返回的是它本身。在可迭代对象里我们说过,iter(obj)方法不报错,说明它一定是一个可迭代对象。因此迭代器一定是一个可迭代对象;
    3、一个迭代器必须要实现 iter() 方法。但因为迭代器前提必须是一个可迭代对象,所以只实现 iter() 方法不一定是一个迭代器。
    连接:link ↩︎

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zw弟弟Fw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值