Python语言中有比较常用的三种数据类型:集合类型、序列类型和映射类型。
名称 | 描述 |
---|---|
集合类型 | 一个元素集合,元素之间无序,相同元素在集合中唯一存在。集合类型的典型代表就是集合 类型 |
序列类型 | 一个元素向量,元素之间存在先后关系,通过序号访问,元素之间不排他。序列类型的典型代表是字符串 、元组 和列表 类型。 |
映射类型 | “键-值”数据项的组合,每个元素是一个键值对,表示为(key, value)。映射类型的典型代表是字典 类型。 |
集合
集合中的元素是要求不可以重复的,一个集合中可以有多种数据类型,例如{'string',100,100.456}
由于集合元素是要求不可以重复的,所以可以使用集合来过滤重复的元素。
交集(&)、并集(|)、差集(-)、补集(^)
函数或方法 | 描述 |
---|---|
S.add(x) | 如果数据项x不在集合S中,将x增加到s |
S.remove(x) | 如果x在集合S中,移除该元素;如果不在,产生KeyError异常 |
S.clear() | 移除S中所有数据项 |
len(S) | 返回集合S元素个数 |
x in S | 如果x是S的元素,返回True,否则返回False |
x not in S | 如果x不是S的元素,返回True,否则返回False |
序列
序列类型是一维元素向量,元素之间存在先后关系,通过序号访问。比如之前的关于字符串的文章。
但是,字符串类型可以看成是单一字符的有序组合,属于序列类型。列表则是一个可以使用多种类型元素的序列类型。序列类型使用相同的索引体系,即正向递增序号和反向递减序号。
序列类型有一些通用的操作符和函数
操作符 | 描述 |
---|---|
x in s | 如果x是s的元素,返回True,否则返回False |
x not in s | 如果x不是s的元素,返回True,否则返回False |
s + t | 连接s和t |
s * n 或 n * s | 将序列s复制n次,n是整数 |
s[i] | 索引,返回序列的第i个元素 |
s[i: j] | 切片,返回包含序列s第i到j个元素的子序列(不包含第j个元素) |
s[i: j: k] | 以k为步长的切片,返回包含序列s第i到j个元素以k为步数的子序列 |
len(s) | 序列s的元素个数(长度) |
min(s) | 序列s中的最小元素 |
max(s) | 序列s中的最大元素 |
s.index(x) | 序列s中第一次出现元素x的位置 |
s.count(x) | 序列s中出现x的总次数 |
列表的方法:
方法 | 描述 |
---|---|
ls.append(x) | 在列表ls最后增加一个元素x |
ls.insert(i, x) | 在列表ls第i位置增加元素x |
ls.clear() | 删除ls中所有元素 |
ls.pop(i) | 将列表ls中第i项元素取出并删除该元素 |
ls.remove(x) | 将列表中出现的第一个元素x删除 |
ls.reverse() | 列表ls中元素反转 |
ls.copy() | 生成一个新列表,复制ls中所有元素 |
映射
映射类型是“键-值”数据项的组合,每个元素是一个键值对,即元素是(key, value),元素之间是无序的。键值对是一种二元关系,源于属性和值的映射关系。
Python语言中的字典使用大括号{}建立,每个元素是一个键值对,使用方式如下:
{<键1>:<值1>, <键2>:<值2>, … , <键n>:<值n>}
>>>d = { "201801":"张三", "201802":"李四", "201803":"王五" }
>>>print( d)
{ "201801":"张三", "201802":"李四", "201803":"王五" }
操作函数 | 描述 |
---|---|
len(d) | 字典d的元素个数(长度) |
min(d) | 字典d中键的最小值 |
max(d) | 字典d中键的最大值 |
dict() | 生成一个空字典 |
字典的方法:
操作方法 | 描述 |
---|---|
d.keys() | 返回所有的键信息 |
d.values() | 返回所有的值信息 |
d.items() | 返回所有的键值对 |
d.get(key, default) | 键存在则返回相应值,否则返回默认值,第二个元素default可以省略,如果省略则默认值为空 |
d.pop(key, default) | 键存在则返回相应值,同时删除键值对,否则返回默认值,第二个元素default可以省略,如果省略则默认值为空 |
d.popitem() | 随机从字典中取出一个键值对,以元组(key, value)形式返回 |
d.clear() | 删除所有的键值对 |