欢迎大家关注公众号【哈希大数据】
系列文章目录:
【白话python连载(9.1)】 使用python处理文件
python的数据类型--迈步万里长城(二)
+
紧接上次的介绍,这次我们来看python其他常用的两种数据类型:字典和集合。
映射的数据类型介绍
字典 {dict}
字典不像序列数据类型那样每个元素有固定的索引值。而是通过键和值的映射关系存储数据,用{}对键值对进行包裹,其中键必须保证唯一性。因此字典可以存储任何类型的数据,而且存储方式是无序的,这也使其具有最大的优点--极快的查找速度。
创建字典
字典创建可直接用{}进行包裹数据,每个键值(key:value)对用冒号分割,每对之间用逗号,分割。具体格式是:
字典内部数据存放的顺序和每个key放入的先后顺序是没有关系。
字典的常用操作方法:
操作方法 | 实例 |
.copy()(.deepcopy()) 返回字典的浅复制(深复制) | |
.clear() 删除字典内所有元素 | |
.items() 以列表返回可遍历的(键,值) 元组数组 | |
.values() 以列表返回字典中的所有值 | |
.key() 以列表返回字典中所有的键 | |
.update(dict2) 把字典2中的值更新到字典1里。键相等时更新,键不存在时新建. | |
.get(key, None) 返回指定键的值,如果值不在字典中返回default值 | |
.popitem() 随机返回并删除字典中的一对键和值。 | |
.pop(key) 删除字典给定键key所对应的值,返回值为被删除的值。 | key值必须给出。 否则,返回default值。 |
.fromkeys(seq) 创建新字典,以序列 seq中元素做字典的键,val为字典所有键对应的初始值。 |
需要注意的是,字典通过键来计算值的位置,进而在查询过程中高效响应实际需求,因此字典在使用时要确保字典的键是不可变的可哈希的对象。比如列表是可变的数据类型,因此列表是不能作为字典的键。如果强制使用使用则会报错。
集合的数据类型介绍
集合[List]
集合类似于字典的键,所存的内容是不可变、不重复的对象,也是用{}对内容进行包裹。集合的创建,需要使用set()方法,以一个列表list作为集合的输入值,进行初始化创建。具体格式为:
输出结果为:。
集合的常用操作方法
操作方法 | 实例 |
.add(value) 在集合中添加一个不重复的元素。 | |
.update(iterable) 更新集合(依次增加新值) | |
.copy() 复制生成一个一样的新集合 | |
.clear() 清空集合 | |
.pop() 从头依次弹出集合中元素 |
除此以外,集合最重要的特性是类似于数学中的集合概念。可以做交集、并集等集合的运算。对于数据的清洗操作有较大的辅助作用。
集合间操作方法
集合操作 | 实例 |
初始化a,b两个集合: | |
a|b并集 | |
a&b交集 | |
a-b差集 | |
a^b对称差集 (等同于(a-b)&(b-a)) |
不可变集合
通常所使用的集合都是可变集合,python中同样存在一种不可变的集合frozenset(),对于该集合不能进行添加剔除等操作。
总之,使用集合可以对列表、元组等进行去重操作,可进一步扩展其他数据类型的应用范围。
数据类型之间的转换
在python中,数据类型之间可以互相转换,提高了python的灵活性。常用的有:
数据类型转换 | 实例 |
str() 转换为字符串类型 | |
int()/flost() 转换为整型/浮点型 | |
list() 转换为列表类型 | |
tuple() 转换为元组类型 | |
set() 转换为集合类型(无序性) | |
dict() 转换为字典类型 | ------------------------------------------------ |
内置函数
关于不同数据类型具有的内置函数有:
与数据有关的内置函数 | 实例 |
type() 查看对应数据的类型 | |
id() 查看在内存中的指向,即引用的对象 | |
dir() 查看可使用的方法和属性 | |
help() 获取对象的帮助信息 |
本次主要介绍了:
python的映射数据类型字典和集合数据类型集合。明确了这两种常用数据类型的特点和使用方法。要牢记字典中的键和集合中的元素都具有唯一性,而且是不可变的。
python中的不同数据类型之间可以灵活转换,更方便开发人员组织程序,但是为了程序的安全性,还是要尽量在最开始就明确不同内容所要是有的数据存储类型。
最后介绍了python中一些与数据有关的内置函数,可以辅助我们更好的了解python中对象的详细内容和标准使用方式。