第4章 序列的应用
python的数据类型分为:空类型、布尔类型、数字类型、字节类型、字符串类型、元组类型、列表类型、字典类型、集合类型
在python中序列是一块用于存放多个值的连续内存空间。
python内置了5种序列分别是元组、列表、字典、集合、字符串。
本章将介绍元组、列表、字典、集合四种序列类型,字符串将在第5章介绍。
4.1 序列
序列类型支持索引、切片、相加、相乘、判断;集合和字典不支持索引、切片、相加、相乘
# 字典不支持索引、切片、相加、相乘
dict1 = {"year":2020,"month":06,"day":21}
dict2 = {"week":"sunday"}
# 索引
print(dict1[0])
KeyError: 0
# 切片
print(dict1[1:])
TypeError: unhashable type: 'slice'
# 相加
print(dict1 + dict2)
TypeError: unsupported operand type(s) for +: 'dict' and 'dict'
# 相乘
print(dict1 * dict2)
TypeError: unsupported operand type(s) for *: 'dict' and 'dict'
1、索引
序列中每一个元素都有一个编号,称为索引。正序下标从0开始,逆序下标从-1开始。
sname[下标]
# 定义列表
list1 = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
print(list1[0])
print(list1[-1])
# 定义元组
tuple1 = ("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")
print(tuple1[0])
print(tuple1[-1])
2、切片
切片可以访问一定范围内的元素,产生一个新的序列。
sname[start:end:step:]
参数说明:
sname:表示序列的名称
start:表示切片的开始位置
end:表示切片的截止位置
step:表示切片的步长
# 定义列表
list1 = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
print(list1[0:7:1])
print(list1[0:7:2])
['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
['Monday', 'Wednesday', 'Friday', 'Sunday']
# 定义元组
tuple1 = ("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")
print(tuple1[0:7:1])
print(tuple1[::-1])
('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')
('Sunday', 'Saturday', 'Friday', 'Thursday', 'Wednesday', 'Tuesday', 'Monday')
3、相加
支持两种相同类型的序列进行相加(连接操作),序列中的元素类型可以不同,相加的结果中不会去除重复的元素。
list1 = ["Monday","Tuesday","Wednesday","Thursday","Friday"]
list2 = ["Saturday","Sunday"]
print(list1+list2)
['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
4、相乘
使用数字n乘以一个序列会生成新的序列,内容为原来序列被重复n次的结果。
emptylist = [None]*5
print(emptylist)
[None, None, None, None, None]
5、检查某个元素是否是序列的成员
value in sequence
参数说明
value表示要检查的元素,
sequence表示指定的序列
返回结果是布尔值:True、False
# 定义列表
countrylist = ["中国","美国","日本"]
print("中国" in countrylist)
# 定义字典
countrydict = {"中国": "china", "美国": "American", "日本": "Japan"}
print("中国" in countrydict)
print("china" in countrydict.values())
True
True
print(countrydict.values())
dict_values(['china', 'American', 'Japan'])
print(countrydict.keys())
dict_keys(['中国', '美国', '日本'])
print(countrydict.items())
dict_items([('中国', 'china'), ('美国', 'American'), ('日本', 'Japan')])
6、计算序列的长度、最大值、最小值
len() | 长度 |
max() | 最大值 |
min() | 最小值 |
list() | 将序列转换为列表 |
str() | 将序列转换为字符串 |
sum() | 计算元素和 |
sorted() | 对元素进行排序 |
reversed() | 反向序列中的元素 |
敬请关注个人微信公众号:测试工匠麻辣烫