第六章、组合数据类型
1.综合数据类型概述
组合数据类型能够将多个同类型或者不同类型的数据组织起来,通过单一的表示是数据操作更有序,更容易。Python中组合数据类型分为序列类型,集合类型,映射类型。
序列类型:元素的响亮,元素之间存在先后顺序,通过序号访问。
- 字符串(str)
- 元组(tuple)
- 列表(list)
集合类型:元素的集合,元素之间无序,相同元素在集合中唯一存在。
- 集合(set)
映射类型:“键值”数据项的组合,每一个元素是一个(key,value)键值对。
- 字典(map)
(1)序列类型
常用的数据类型有字符串,元组和列表。
字符串:单个字符的有序组合
元组:元组生成后是固定的,其中任何数据项不能替换或者删除
列表:是可以改变的序列类型
所有序列类型都是可以通过变量名+序号的形式访问,序号可以采用正向序号和反向序号的方式。序列类型允许有重复元素存在,并通过序号来区分它们。
序列类型有12个通用操作符和函数。
(2)元组类型
- 元组一旦被创建就不能修改,需要用逗号将元素分开(必须要有的),可以用圆括号把所有元素括起来(可以没有)。
1 | # 一个元素可以作为另外一个元组的元素,并采用多级索引访问。 |
(3)集合类型
集合中的元素不可重复,元素类型只能是固定的数据类型;
由于集合是无序组合,没有索引和位置的概念,不能分片,可以动态地增加和删除;
集合用大括号表示,可以用赋值语句生成一个集合;
1 | 425,"BIT",(10,"CS"),424} s={ |
- set(x)函数可以生成集合,输入的参数可以是任何组合的数据类型,返回的结果是一个无重复且排序任意的集合。
1 | set("apple") w= |
- 集合类型的操作符有10个
- 集合类型的操作函数或方法10个
(4)映射类型
- 映射类型是“键-值”数据项的组合,一个元素是一个键值对,元素之间是无序的。键表示一个属性,值表示属性的内容,描述对应的属性值。
- 如:(学校名称,城市)为映射类型,则有如下映射实例
1 | (北京大学,北京) |
2.列表的类型和操作
- 列表是包含0个或多个对象的有序序列但列表的长度和内容是可变的,可以自由的进行数据项的增加,删除或替换,列表没有长度限制,元素类型可以不同。
- 列表也支持成员关系运算符in,长度计算函数len(),分片[]等序列类型的运算、方法和函数。
- 列表用中括号[]表示,也可以通过list()函数将元组或字符串转化成列表。
- 列表类型特有的函数或方法:
- 列表的操作实例:
1 | list(range(5)) vlist= |
- 当使用一个列表改变另外一个列表值时,python不要求两个列表长度一样,但遵循“多增少补”的原则
1 | 1:3]=["new_bit","new_computer",123] vlist[ |
- 与元组一样,列表可以通过for - in语句对元组进行遍历。
3.基本统计值计算
补充:sorted函数
sorted是一个排序函数,里面通常有三个参数
1 | sorted(iterable, key=None, reverse=False) |
参数说名:
iterable – 可迭代对象
key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指可迭代对象中的一个元素来进行排序。
reverse – 排序规则,= True降序,=False 升序(默认参数)
使用sorted()函数对序列进行排序,并不会在原序列的基础进行修改,而是会重新生成一个排好序的列表实现。
1 | 5,7,6,3,4,1,2] a = [ |
4.字典类型和操作
概念
在有些比较灵活的信息查询,如查找学生的“C语言成绩”时,我们需要输入学号,而不是输入该成绩在列表中的索引号(下标),这种的查询需要“键值对”,通过特定的键(如学号)访问值(如C语言成绩)
通过任意键值查找一组数据中信息的过程称为映射,在Python中通过字典实现映射,通过大括号建立映射{}。建立模式如下:
{<键1>:<值1>,<键2>:<值2>,…}
由于字典顺序也是一种集合类型,所以键值对之间没有顺序并且不能重复。
字典的创建:利用大括号创建字典,并指定初始值,通过中括号可以增加新的元素
直接使用大括号可以创建一个空字典,通过中括号增加新的元素
1
2
3dcountry={'中国':"北京", "美国":"华盛顿"}
dcountry['英国']='伦敦'
字典的函数和方法如下表:
5.Python jieba库
jieba常用分词函数:
举例:
jieba库添加词汇:
6.文本词频统计
英文词频统计: