1.1 组合数据类型
Python中常用的序列类型有字符串、列表和元组。
Python中的序列支持双向索引:正向递增索引和反向递减索引正向递增索引从左向右依次递增,第一个元素的索引为0,第二个元素的索引为1,以此类推;反向递减索引从右向左依次递减,从右数第一个元素的索引为-1,第二个元素的索引为-2,以此类推。
Python集合特性:确定性、互异性、无须性
- 确定性:给定一个集合,那么任何一个元素是否在集合中就确定了。
- 互异性:集合中的元素互不相同。
- 无序性:集合中的元素没有顺序,顺序不同但元素相同的集合可视为同一集合。
-
映射类型以键值对的形式存储元素,键值对中的键与值之间存在映射关系。字典(dict)是Python
-
唯一的内置映射类型。
-
1.2 列表
-
Python列表的创建可以直接使用中括号“[]”创建,也可以使用内置的list()函数快速创建。
list_one = [] # 使用[]创建空列表
li_two = list() # 使用list()创建空列表
1.2.1 添加列表元素
向列表中添加元素是非常常见的一种列表操作,Python提供了append()、extend()和insert()这几个方法。
append
#定义变量A,默认有3个元素
A = ['tzj','ty','gt']
print("-----添加之前,列表A的数据-----")
for tempName in A:
print(tempName)
#提示、并添加元素
temp = input('请输入姓名:')
A.append(temp)
print("-----添加之后,列表A的数据-----")
for tempName in A:
print(tempName)
运行结果
-----添加之前,列表A的数据-----
tzj
ty
gt
请输入姓名:hh
-----添加之后,列表A的数据-----
tzj
ty
gt
hh
extend
a = [1, 2]
b = [3, 4]
a.append(b)
print(a)
a.extend(b)
print(a)
运行结果
[1, 2, [3, 4]]
[1, 2, [3, 4], 3, 4]
insert
a = [0, 1, 2]
a.insert(1, 3)
print(a)
运行结果:
[0, 3, 1, 2]
1.2.2元素排序
列表的排序是将元素按照某种规定进行排列。列表中常用的排序方法有sort()、reverse()、sorted()。
sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。
reverse方法是将list逆置。
1.2.3 删除元素
删除列表元素的常用方式有del语句、remove()方法、pop()方法和clear()方法。
- del:根据下标进行删除
- pop:删除最后一个元素
- remove:根据元素的值进行删除
del
Cname = ['tzj','ty','gt','cxj,'czf','zyz']
print('------删除之前------')
for tempName in Cname:
print(tempName)
del Cname[2]
print('------删除之后------')
for tempName in Cname:
print(tempName)
结果:
------删除之前------
tzj
ty
gt
cxj
czf
zyz
------删除之后------
tzj
ty
cxj
czf
zyz
pop:
Cname = ['tzj','ty','gt','cxj,'czf','zyz']
print('------删除之前------')
for tempName in Cname:
print(tempName)
Cname.pop()
print('------删除之后------')
for tempName in Cname:
print(tempName)
结果:
------删除之前------
tzj
ty
gt
cxj
czf
zyz
------删除之后------
tzj
ty
gt
cxj
czf
Remove():
Cname = ['tzj','ty','gt','cxj,'czf','zyz']
print('------删除之前------')
for tempName in Cname:
print(tempName)
Cname.remove('cxj')
print('------删除之后------')
for tempName in Cname:
print(tempName)
结果:
------删除之前------
tzj
ty
gt
cxj
czf
zyz
------删除之后------
tzj
ty
gt
czf
zyz
1.3 元组
元组的表现形式为一组包含在圆括号“()”中、由逗号分隔的元素,元组中元素的个数、类型不受限制。除了使用()构建元组外,还可以使用内置函数tuple()构建元组。
1.3.1 访问元组
aTuple = ('ty',11,22.2)
print(aTuple[0])
print(aTuple[1])
结果:
ty
11
1.4 集合
Python的集合(set)本身是可变类型,但Python要求放入集合中的元素必须是不可变类型。大括号“{}”或内置函数set()均可构建集合。
集合是可变的,集合中的元素可以动态增加或删除。
1.5 字典
字典是一种可变容器模型,且可存储任意类型对象。
字典的表现形式为一组包含在大括号“{}”中的键值对,每个键值对为一个字典元素,每个元素通过逗号“,”分隔,每对键值通过“:”分隔,除了使用“{}”创建字典还可以使用内置函数dict创建字典。
1.5.1字典的访问
info = {'name':'tzj', 'id':810, 'address':'中国重庆'}
print(info['name'])
print(info['address'])
结果:
tzj
中国重庆
除了直接利用键访问值外,Python还提供了内置方法keys()、values()和items()。
d = {key1 : value1, key2 : value2, key3 : value3 }
1.5.2修改元素
字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改
info = {'name': 'tzj', 'id': 810, 'address': '中国重庆'}
info['id'] = 8100
print('修改之后的id为:%d' % info['id'])
结果:
修改之后的id为8810
1.5.3添加元素
通过键添加元素:字典变量[键] = 值
info = {'name': 'tzj', 'address': '中国重庆'}
newId = input('请输入新的ID')
info['id'] = int(newId)
print('添加之后的id为:%d' % info['id'])
结果:
请输入新的ID 123
添加之后的id为:123
1.5.4字典元素的删除
Python支持通过pop()、popitem()和clear()方法删除字典中的元素。
- pop():根据指定键值删除字典中的指定元素
- popitem():随机删除字典中的元素
- clear():清空字典中的元素
info = {'name': 'tzj', 'sex': 'f', 'address': '中国重庆'}
print('清空前,%s' % info)
info.clear()
print('清空后,%s' % info)
结果:
清空前,{'name': 'tzj', 'sex': 'f', 'address': '中国重庆'}
清空后,{}