python 数据类型汇总

python 数据类型汇总

本文将系统总结python五:列表类型类型:字典,集合,元组,字符串,以便整体复习与掌握。

名称 属性 创建方式 与其他数据类型的转换 相关操作以及函数与方法名
列表 可变对象,有序序列,使用中括号[]来定义 使用中括号直接创建,各元素间用逗号,隔开[元素1, 元素2, ..., 元素n]; 使用list()函数; 列表生成式:[需要创建的元素的表达式 for...in...] 除转化为字典需要使用zip()函数外,其他类型数据之间的相互转化可直接使用相应数据类型的函数转化为字符串:首先将列表中的元素转换为字符类型的数据,使用"".join(列表名); 列表表达式[str(i) for i in 字符串名]。 转化为字典:zip()函数将两个列表打包, 使用dict(打包后的对象); 嵌套列表,字列表为两个元素
索引:正向0至元素个数-1; 倒向:-1至-元素个数
切片:[开始结点索引号:终止结点索引号:步长]
index(元素, 查找起始点, 查找终点)方法, 确定某一个元素的索引值。其中查找起始终止点可忽略不写, 若列表中有多个需要查的元素,则返回第一个该元素的索引值。
append()方法, 列表尾添加一个元素; extend()方法, 列表尾添加一个序列; insert()方法, 指定位置添加一个元素; remove()方法, 删除指定的一个元素; pop()方法, 依靠索引删除一个元素,默认删除最后一个元素; clear()方法, 清空列表中的元素; del函数, 直接删除列表对象
列表排序: sort(key= , reverse= )方法, 对列表元素按一定规则排序,排序后原列表发生变化 sorted(列表名, key= ,reverse= )函数,对某一列表按一定规则排序后产生新的列表对象
列表反转: 1. reverse()方法。list_name.reverse()列表元素的直接反转,不开辟新的内存空间;2.reversed函数。list_name2 = reversed(list_name)实现反转之后开辟了新的内存空间,原来的列表不变。3. 借用列表切片实现反转。list_name3=list_name[::-1]。此方法同样开辟了新的内存空间,原来的列表不变
字典 可变对象, 无序序列, 不存在索引, 根据hash函数的函数值大小排序, 跟元素放入的前后顺序无关, 以键值对的方式存储数据, 键不可重复, 值可重复, 使用花括号{}来定义 直接使用花括号{}来创建{键名称1:值,键名称2: 值,...,键名称n:值};s使用dict()函数,dict(键名称1=值, 键名称2=值,...,键名称n=值);字典生成式: {键:值 for 键,值 in zip(键所在的序列, 值所在的序列)} 字典转化为列表:使用list()函数, list(字典名.keys()),list(字典名.values())。 转化为字符串:str()函数强转; json.dumps 转换。除转化为字典需要使用zip()函数外,其他类型数据之间的相互转化可直接使用相应数据类型的函数
获取字典中的某个键 for 键 in 字典名: print(键) key()方法, 获取字典中所有的键
获取字典中的值:字典名[键]; 字典名.get(键) values()方法, 获取字典中所有的值
判断键存在与否:in 与 not in
items()方法, 获取字典中所有的键值对
del 字典名[键], 删除字典中的的一个键值对 del 字典名, 删除字典对象 clear()方法, 清空字典对象中的所有键值对
字典对象的增加:直接赋值的方式,字典名[键]=值
集合 可变对象,无序不可重复序列, 不存在索引, 同样根据hash函数的函数值确定元素的位置, 与元素加入前后顺序无关, 使用花括号来定义
创建:1. 直接使用花括号{}创建, 此方法不可用于创建空集合; 2. 使用set()函数创建; 3. 集合生成式:{表达式 for...in...} 除转化为字典需要使用zip()函数外,其他类型数据之间的相互转化可直接使用相应数据类型的函数
判断元素存在与否:in 或 not in
add()方法, 在集合尾端添加一个元素 update()方法, 在集合的尾端添加一个序列
remove()方法, 删除集合中存在的元素 discard()方法, 执行删除元素操作,该元素也可不在需要执行操作的集合中, 若元素不在,使用discard()方法后返回原集合 pop()方法, 任意删除集合中的一个元素
集合1 == 集合2 或者 集合1 != 集合2 判断两集合是否相等
issubset()方法, 集合1.issubset(集合2) 判断集合1是否为集合2的子集 issuperset()方法, 集合1.issuperset(集合2) 判断集合1是否为集合2的超集,类似于数学中真集的概念 intersection()方法 或 集合1&集合2 求两集合的交集 union()方法 或 集合1 | 集合2 求两集合的并集 difference()方法 或 集合1-集合2 求集合1中有但集合2中没有的元素 symmetric_difference()方法 或 集合1^集合2 求集合1中有集合2中没有以及集合2中有集合1中没有的元素的并集
元组 有序不可变对象, 即不可使用索引赋值方式的改变元组元素, 使用小括号()定义 创建:1. 直接使用小括号()创建, 创建只有一个元素的元组时,元素后需加逗号; 创建含有多个元素的元组时,括号可省略,逗号不可省略2. 使用内置函数tuple()进行创建。 除转化为字典需要使用zip()函数外,其他类型数据之间的相互转化可直接使用相应数据类型的函数 查找与遍历:使用索引或for in 循环
字符串 有序不可变对象,使用引号(单引号,双引号,三引号)定义 使用引号进行创建; 使用str()函数
除转化为字典需要使用zip()函数外,其他类型数据之间的相互转化可直接使用相应数据类型的函数。转化为列表:list()函数; split()方法; eval()函数:只能转化字符串的元素为列表对象的情况,该元素需用用双引号包裹 如:s = "['a','b','c']", eval(s)得到['a','b','c']。 转化为字典:eval()函数, json模块的json.loads()方法,(loads()方法可识别字符串)转化字符串元素为字典的元素, 该字典元素的键需要用双引号包裹 s = "{'a':1,'b':2}" s1 = '{"a":1,"b":2}' print(eval(s)) print(eval(s1)) json.loads(s1)
字符串的驻留:相同的元素赋值给不同的对象,所有对象的id相同; 编译时进行驻留,运行时不驻留; 字符串长度为0或1自动驻留;[-5,256]之间数字驻留;符合标识符(大小写字母,数字,下划线)的字符串默认驻留, 使用sys模块的intern()方法强制驻留。
字符串的解编码:encode(encoding='编码方式')方法 对字符串进行编码; decode(encoding='编码方式')方法 对编码后的二进制字节类型数据进行解码。
字符串格式化:占位符% 字符串 % 值(值有多个的话,用元组整体表示); format()方法, 与花括号{}搭配。
字符串的对齐:center(指定宽度, 指定填充符(可选))方法 居中对齐; ljust(指定宽度, 指定填充符(可选))左对齐; rjust(指定宽度, 指定填充符(可选))右对齐; zfill(指定宽度)右对齐,默认填充符为0。
字符串的比较:使用比较运算符,返回布尔值
ord()函数 获取某一字符的原始值; chr()函数 获取某一值所对应的字符;
索引与切片:类似于列表 查找:index()方法, find()方法, 按正向索引查找,即左起查找; rindex()方法, rfind()方法, 按逆向索引进行查找,即右起查找;
字符串的转化: lower()方法 将字符串所有字符小写 upper()方法 将字符串所有字符大写 swapcase()方法 将字符串所有字符大小写相互转化 capitalize()方法 将字符串的首字母大写,其他字符全部小写 title()方法, 将字符串中每个分隔开的子字符串首字母大写/td>
字符串的判断: isidentifier()方法 判断字符串是否为合法标识 isspace()方法 判断字符串是否全部由空白字符、回车、换行、水平制表符等组成 isalpha()方法 判断字符串是否全部由字母组成 isdecimal()方法 判断字符串是否全部由十进制的数字组成 isnumeric()方法 判断字符串是否由数字组成 isalnum()方法 判断字符串是否由字母和数字组成
字符串的劈分替换与连接: split(sep= (可选), maxsplit= (可选))方法, 从字符串左侧起劈分,默认识别到空格即劈分, 返回一个列表对象 rsplit(sep= (可选), maxsplit= (可选))方法, 从字符串右侧起劈分,默认识别到空格即劈分, 返回一个列表对象。 replace(需被替换的子字符串, 替换为的字符串)方法 进行子字符串的替换 join()方法 '连接符'.join(被连接的序列) 加号‘+’ 实现两个字符串的链接
字符串有关函数: eval(expression[, globals[, locals]])方法 执行一个字符串表达式

你可能感兴趣的:(Python入门,数据结构,python)