数据类型及序列数据结构
- 学习导图
- 数据类型
-
- 序列数据结构
- 列表
- 创建列表
- 访问列表
- 更新列表
- 删除元素
-
- 添加元素
- 多维列表
- 元组
-
- 字典
- 创建字典
- 访问字典
- 修改字典
- 删除元素
- in运算
- 获取字典所有值
- items()方法
- 集合
-
学习导图
数据类型
数值类型
- python数值类型用于存储数值,支持以下数值类型。
- 整型int,也称整数,是正或负整数,不带小数点。
- 浮点型float,由整数加小数组成,带小数点,可以使用科学记数法计数(3.14E2=314)。
- 复数complex,由实部和虚部构成,可以用a+bj或complex(a.b)表示。
字符串
- python中最常见的数据类型,使用引号来创建字符串(单/双引号都可以)。
布尔类型
- 值:True和False
- 支持如下运算:
- 布尔运算都较为简单。
空值
- None ,不支持任何运算,也没有任何内置函数方法。
- 与任何其他数据类型比较,永远返回false。
- 如未指定返回值的函数,自动返回 None 。
序列数据结构
- 数据结构是:计算机存储、组织数据的方式。
- 序列是python中最基本的数据结构。序列中每个元素都分配到一个数字,即它的位置或索引,从0开始。
- 序列操作有:索引、切片、加、乘、成员检查、确定序列长度、确定最大最小元素等。
- python内置序列类型最常见的是列表、元组和字符串。
- 字典、集合属于无顺序数据集合体,不能通过位置索引来访问数据元素。
列表
- 列表list,列表的数据项可以有多种类型,数据可以修改。
创建列表
- 用方括号[...]括起来,用逗号,分隔不同数据项。
- 列表索引从0开始
list1 = ['你', '我', 123, 456]
访问列表
list1 = ['你', '我', 123, 456]
print('list[0]:', list1[0])
print('list[1:3]:', list1[1:3])
更新列表
list1 = ['你', '我', 123, 456]
list1[1]=199
print('list[1]:', list1[1])
删除元素
del语句
remove()方法
pop()方法
- 使用pop()方法删除列表中指定位置的元素,无参数时删除最后一个元素
添加元素
list1 = ['你', '我', 123, 456]
list1.append(201)
print(list1)
多维列表
list1 = [["我", "要", "CPU"], '你', ["显卡", "硬盘"], 123]
print(list1[0][2])
- 打印CPU,通过多重索引访问:列表名[索引1][索引2]
- 列表生成式,python内置的一种生成列表的表达式。如果要生成一个list[1,2,3,4,5,6,7,8,9],可以这么定义:L=list(range(1,10))
元组
- 元组tuple,与列表类似。但是元组的元素不能修改。
- 元组用小括号()括起来,其元素类型也可以相同。
创建元组
tup1 = ('我', '它', 20, 30)
# 创建空元组
tup2 = ()
# 只包含一个元素,后面加个逗号
tup3 = (60,)
访问元组
tup1 = ('我', '它', 20, 30)
print(tup1[0])
print(tup1[1:3])
连接元组
tup1 = ('我', '它', 20, 30)
tup2 = (50, 90)
tup3 = tup1 + tup2
print(tup3)
删除元组
- 元组中的值是不可以删除的,但是可以删除整个元组,使用del
tup1 = ('我', '它', 20, 30)
del tup1
# 删除后,打印会报错
print(tup1)
元组和列表的转换
tup1 = ('我', '它', 20, 30)
list1 = list(tup1)
print(list1)
list1 = ['你', '我', 123, 456]
tup1 = tuple(list1)
print(tup1)
list1 = ['你', '我', 123, 456]
str1 = str(list1)
# 返回一个包括字符串
print(str1)
字典
- 字典dict是一个可变容器模型,可存储任意类型对象。
- 字典也称为关联数组或哈希表。
- 字典由键和对应值(键值对)组成,键值对之间用逗号,隔开,外面用花括号{}。
创建字典
- 基本语法:d = {key1: value1, key2: value2}
dict1 = {'xda': 40, 'age':18, 'name': 'mayn'}
- 特性:
- 字典值可以是任何python对象,如字符串、数字、元组等。
- 键必须是唯一的,值可以有多个。不允许同一个键出现两次,出现了,则使用最新对应的值。
- 键不可变,因此用数字、字符串或元组可以,不能用列表。
访问字典
dict1 = {'xda': 40, 'age':18, 'name': 'mayn'}
# 显示18
print(dict1['age'])
修改字典
- 添加新内容的方法是添加新的键值对,修改或删除已有键值对。
dict1 = {'xda': 40, 'age':18, 'name': 'mayn'}
# 更新age对应的值
dict1['age']=20
# 添加新的键值对
dict1['scor']='idon'
删除元素
- del()方法,可以使用键从字典中删除元素。
- clear()方法清空字典中所有的元素。
dict1 = {'xda': 40, 'age':18, 'name': 'mayn'}
# 删除age的元素
del dict1['age']
# 清空整个字典元素,变成空字典
dict1.clear()
# 删除这个字典
del dict1
in运算
dict1 = {'xda': 40, 'age':18, 'name': 'mayn'}
# 返回True
print('age' in dict1)
获取字典所有值
- dict.values()以列表形式返回字典中所有值。
dict1 = {'xda': 40, 'age':18, 'name': 'mayn'}
print(dict1.values())
items()方法
- items()方法把字典中的键值对组成一个元组,并把元组放到列表中返回。
dict1 = {'xda': 40, 'age':18, 'name': 'mayn'}
for key, value in dict1.items():
print(key,value)
集合
- 无序不重复,字典也是无序不重复的。
- 基本功能:进行成员关系测试和删除重复元素。
创建集合
- 使用大括号{}或set()函数。
- 创建空集合必须使用set()函数,{}被用来创建空字典了。
student = {'xiaohua', 'xiaoming', 'xiaai', 'mayn'}
# 输出集合,重复的元素自动丢弃
print(student)
成员测试
student = {'xiaohua', 'xiaoming', 'xiaai', 'mayn'}
if('rose' in student):
print("yes")
else:
print("no")
集合运算
a = set('abcd')
b = set('cdea')
print(a-b)
print(a|b)
print(a&b)