组合数据类型主要分为三类:序列类型、映射类型、集合类型。
一、序列类型
元素间存在次序关系,可通过序号访问。元素本身也可以是序列类型。
在序列类型中,比较重要的是字符串(str),元组(tuple),列表(list)。其中:
字符串:单一字符的有序组合,字符串也可以被看做基本数据类型。
元组:包含0或多个数据项的不可变序列类型。元组生成后是固定的,其中任何数据不可被替换或删除。
列表:是一个可修改数据项的序列,使用灵活。
序列的操作符和函数:
一、元组的定义(两种方式):生成元组只需要用逗号将元素隔开即可,元组的元素可以是一个元组。
1.不带括号(括号不是必须的):
creature = "cat","dog","tiger"
creature
输出为该元组:
('cat','dog','tiger')
2.带括号的:
color = ("red",0x001100,"blue",creature)
color
在这个定义的例子中,可以看出,元组color的第四个元素是上例中的元组creature,输出为:
('red',4352,'blue',('cat','dog','tiger'))
以上元组可通过顺序索引来访问其中的元素,例如使用color[2]来访问第二个元素'blue',也可以多级索引切片来访问元组中的元组,例如,用color[-1][2]来访问color[-1]即creature中第二个元素'tiger'。
二、列表类型:
列表(list)也是序列类型,与元组不同,列表长度内容可变,没有长度限制,元素类型可以不同,使用更加灵活。
列表使用中括号[]表示,也可以用list()将元组或字符串转换成列表,直接使用list()会生成一个空列表,生成一个列表的操作如下:
>>>ls = [123,"abc",[22,"aaa"],123]
>>>ls
[123,"abc",[22,"aaa"],123]
>>>list("我正在学习Python")
['我','正','在','学','习','P','y','t','h','o','n']
>>>list(("我正在学习Python"))
["我正在学习Python"]
列表类型的操作
二、集合类型
包含0到多个数据项的无序组合,其中元素不可重复,元素类型也只能是固定数据类型,如整数、浮点数、字符串、元组。不可以是列表、字典、和集合类型本身。
集合是无序组合,没有索引和位置概念,因此不能切片,但可以动态增加或删除。
集合的定义:
1.直接赋值定义
使用大括号{}生成一个集合,例如:
>>>S = {123,"ads",("aaa",50),666}
>>>S
{123,"ads",("aaa",50),666}
集合中元素不重复,如下例:
>>>T = {123,"ads",("aaa",50),666,"ads",123}
>>>T
{123,"ads",("aaa",50),666,"ads",123}
可以看出,定义这个集合时重复的“ads”,123,两个重复的元素在输出时都没有重复出现。
2.使用函数定义:
使用函数set()可以生成一个集合,输入的参数可以是任何组合数据类型,返回结果是一个无重复且排序任意的集合,例如:
>>>A = set("apple")
>>>A
{'l','e','a','p'}
>>>B = set((123,"ads",("aaa",50),666))
>>>B
{123,"ads",("aaa",50),666}
上述表达了数学中集合的集中操作,包括交集,并集,差集,补集,操作逻辑与数学定义相同。
三、映射类型
是“键-值”数据项的组合,每个元素都是一对键值对,在Python中,映射类型主要以字典的方式体现。
字典的建立模式(键和值之间用冒号连接):
{<键1>:<值1>,<键2>:<值2>,...,<键n>:<值n>}
实例如下:
>>>Dcountry = {"中国":"北京",''英国":"伦敦"}
>>>print(Dcountry)
{'中国':'北京','英国':'伦敦'}
字典打印出的顺序可能与定义时的顺序有所不同,元素之间没有顺序之分。
字典可以通过键来查找值:例如延续上例
>>>Dcountry["中国"]
'北京'
字典中对某个键值的修改方式如下:
>>>Dcountry["中国"]="京"
实现对这个键对应的值改变。
字典类型的操作:
1.增加键值对:
以上文实例为基础,增加键值对“法国”-“巴黎”通过一下语句实现:
>>>Dcountry["法国"]="巴黎"
>>>print(Dcountry)
{'中国':'北京','英国':'伦敦','法国':'巴黎'}
2.创建空字典
直接使用空的大括号{}可以创建一个空字典。注意:直接使用大括号生成的类型是空字典,而生成空的集合必须使用函数set()
3.字典的一些常用方法(开头的<d>为一种格式,内容为某个字典的名称)
4.对字典的遍历:
通过以下格式实现(以实例展现):
>>>for key in Dcountry:
print(key)
中国
英国
法国