Python大数据与机器学习实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4 Python数据类型

Python支持六种基本的数据类型:数值(Number)、字符串(String)、列表(List)、元组(Tuple)、集合(Set)、字典(Dict),其中字符串和数值类型与在Java和C语言中的用法类似,下面主要介绍Python的数据类型及其用法,如表1.1所示。

表1.1 Python的数据类型

1.4.1 数值

Python数值类型的数据包括int(整型)、float(浮点型)、bool(布尔型)、complex(复数)。数值类型只管理单个元素,用法与在其他编程语言中的类似。Python变量不需要事先声明,在它赋值时就已被创建,使用del语句可将其删除。

例程中使用列表解析方式为变量赋值,即根据已有列表高效创建新列表。

1.4.2 字符串

字符串类型用于Python字符串的处理,它是一组字符序列,其中的数据有序但不可修改(从例程中可以看到修改后返回了新字符串,原字符串不变),字符格式默认为utf8。Python字符串常和正则表达式re库共同使用。

下面以示例方式介绍字符串及其主要函数的使用方法。

1.4.3 列表

列表是Python最常用的数据类型,是一组元素序列,支持异构(即其中各个数据项类型可以不同),其中的数据项可以是任何类型,如元组、字典,列表等。列表使用方括号定义,元素之间用逗号分隔。列表中的内容是有序的,可修改,支持通过索引值访问和双向索引,即正数为从左向右索引,负数为从右向左索引(-1为最后一个元素)。

下例从增、删、查、改几个方面介绍列表的基本操作。

列表推导式“list comprehension”用于快速生成列表,是用可迭代对象生成多元素列表的表达式,其语法如下:

[表达式for变量in可迭代对象]或[表达式for变量in可迭代对象if真值表达式]

例如,生成20以内由奇数组成的数组,用列表推导式一行代码即可实现:

其含义是用for迭代访问由range函数创建的含有数值0—19的列表,用其中不能被2整除的数(i)生成新列表。

1.4.4 元组

元组的使用方法类似于列表,也用于表示有序数据的集合,但与列表不同的是它不支持修改。它的操作速度比列表快,是轻量级的数据表示,常用于定义常量和作为字典的键值。元组使用圆括号定义,元素之间用逗号分隔。

由于元组不支持增、删、改等操作,因此下例简要介绍其建立和查询的基本方法。

1.4.5 集合

集合用于表示一组不重复的元素集合,支持异构。集合使用大括号定义,元素之间用逗号分隔。集合中的元素是无序的,可修改。因为集合中的元素无序,所以其不支持通过索引值访问。

下例从增、删、查、改几方面介绍集合的基本操作。

除了增、删、查、改,集合还支持相关的运算,如差集(-)、并集(|)、交集(&)、子集(issubset)等操作。

1.4.6 字典

字典是一组键值对(key/value映射关系)的集合,键值不能重复,访问速度快。字典使用大括号定义,key与value间用冒号分隔,键值对之间用逗号分隔。字典中的元素是无序的,其内容可修改,字典要求key中只能包含不可变的数据。

下例从增、删、查、改几方面介绍字典的基本操作。