写在前面:
本系列文章收录:CAU计算机类公选课《Python语言程序设计》的课堂讲义
课程时间为:2022~2023学年秋季
供各位小白参考~
name = '初心'
age = 18
score = 98.5
# 整型 %nd
# 浮点型 %m.nf
# 字符串 %s
# 输出3种格式:
# 第一种:
print("姓名:%s,年龄:%d,分数:%.2f"%(name,age,score))
# 第二种
print("姓名:{},年龄:{},分数:{}".format(name,age,score))
print("姓名:{0},年龄:{1},分数:{2}".format(name,age,score))
print("姓名:{n},年龄:{a},分数:{s}".format(n=name,a=age,s=score))
# 第三种 f-string
print(f"姓名:{name},年龄:{age},分数:{score}")
运行结果:
姓名:初心,年龄:18,分数:98.50
姓名:初心,年龄:18,分数:98.5
姓名:初心,年龄:18,分数:98.5
姓名:初心,年龄:18,分数:98.5
姓名:初心,年龄:18,分数:98.5
第4章 Python的4种典型序列(容器)结构
序列是一种常用的数据存储方式。
4种典型序列结构:列表、元组、字典和集合。
序列是一块用于存放多个值得连续内存空间,并且按照一定的顺序排列,每一个值(又被称为元素)都分配一个数字,被称为索引或者位置。
通过索引可以取出相应的值。
(1)索引
列中每一个元素都有一个编号,这个编号即为索引。索引也称为下标或者编号。
索引从0开始递增。
对于Python来说,索引可以为负数。从右向左,最后一个索引:-1。
【示例】索引的应用。
hobby = ['唱歌','跳舞','Rap','篮球','健美操']
print(hobby[0],hobby[-1],hobby[1])
运行结果:
唱歌 健美操 跳舞
(2)切片
切片是指对操作的对象截取其中一部分的操作,即从容器中取出相应的元素,重新组成一个容器。
切片操作可以生成一个新的序列。
语法格式:
sname[start:end:step]
参数说明:
start:表示切片的开始位置(包括该位置),如果不指定则默认为0。
end:表示切片的截止位置(不包含该位置),如果不指定,则默认序列的长度。
step:表示切片的步长,如果省略,则默认为1,当省略该步长时,最后一个冒号也不能省略。步长值不能为0。
切片选取的区间属于左闭右开
步长大于0,从左到右。
步长小于0,从右到左。
【示例】利用切片,获取第2元素到4个元素。
hobby = ['唱歌','跳舞','Rap','篮球','健美操']
print(hobby[1:4:1])
运行结果:
['跳舞', 'Rap', '篮球']
3.序列相加(连接)
符号:+
【示例】两个序列相加。
hobby_1 = ['唱歌','跳舞','Rap','篮球','健美操']
hobby_2 = ['看电影','逛商场','跑步']
print(hobby_1 + hobby_2)
运行结果:
['唱歌', '跳舞', 'Rap', '篮球', '健美操', '看电影', '逛商场', '跑步']
4.序列的乘法
把原序列重复n次。
【示例】
love = ["宝贝,对不起,我错了!"]
print(love * 3)
运行结果:
['宝贝,对不起,我错了!', '宝贝,对不起,我错了!', '宝贝,对不起,我错了!']
5.检查某个元素是否是序列的成员(元素)
【示例】
hobby = ['唱歌','跳舞','Rap','篮球','健美操']
print( '篮球' in hobby)
运行结果:
True
6.计算序列的长度、最大值和最小值
len() max() min()
【示例】从列表中找出最大,最小和计算长度。
height = [158,185,175,165,198]
print( len(height),max(height),min(height))
运行结果:
5 198 158
4.2 列表
列表是属于Python内置的可变序列。
从形式上来看,列表所有的元素都放在一对“[]”中,两个相邻元素间使用逗号“,”隔开。
从内容上来看,可以将整数、实数、字符串、列表、元组等任何类型的内容放入到列表中,同一个列表中,元素的类型可以不同。
1.列表的创建与删除
语法格式:
listname = [元素1,元素2,…]
创建空列表:
Emptylist = []
创建数值列表:
使用list()函数直接将range()函数循环出的结果转换为列表。
【示例】创建一个10~20之间的偶数列表(不包含20)。
num_list = list(range(10,20,2))
print(num_list)
运行结果:
[10, 12, 14, 16, 18]
删除列表:
del 列表名
2.列表元素的访问与遍历
(1)采用下标法
【示例】
hobby = ['唱歌','跳舞','Rap','篮球','健美操']
print(hobby[1],hobby[-1])
print(hobby[1:3])
运行结果:
跳舞 健美操
['跳舞', 'Rap']
(2)使用for遍历列表
使用for遍历列表时,只能输出元素的值。
语法结构:
for item in listname:
输出语句
【示例】
hobby = ['唱歌','跳舞','Rap','篮球','健美操']
for i in hobby:
print(i)
运行结果:
唱歌
跳舞
Rap
篮球
健美操
(2)使用for循环和enumerate()函数实现。
可以实现同时输出索引值和元素内容。
语法格式:
for index,value in enumerate(listname):
输出语句
【示例】
hobby = ['唱歌','跳舞','Rap','篮球','健美操']
for index,value in enumerate(hobby):
print(index,' ',value)
运行结果:
0 唱歌
1 跳舞
2 Rap
3 篮球
4 健美操
(3)利用while语句输出列表的各个元素。
hobby = ['唱歌','跳舞','Rap','篮球','健美操']
i = 0
while i < len(hobby):
print(hobby[i])
i += 1
运行结果:
唱歌
跳舞
Rap
篮球
健美操
(4)利用索引遍历。
【示例】
hobby = ['唱歌','跳舞','Rap','篮球','健美操']
for index in range(len(hobby)):
print(hobby[index])
运行结果:
唱歌
跳舞
Rap
篮球
健美操
(5)利用iter()生成迭代器。
【示例】
hobby = ['唱歌','跳舞','Rap','篮球','健美操']
for item in iter(hobby):
print(item)
运行结果:
唱歌
跳舞
Rap
篮球
健美操
3.列表的常用操作(增、删、改、查)
(1)增加元素
1)+
2)借助函数append()
功能:用于在列表的末尾添加新的对象。
两种方式:执行速度上,+比append()慢。
【示例】
hobby_1 = ['唱歌','跳舞','Rap','篮球','健美操']
hobby_2 = ['看电影','逛商场','跑步']
hobby_1.append(hobby_2)
print(hobby_1)
运行结果:
['唱歌', '跳舞', 'Rap', '篮球', '健美操',[ '看电影', '逛商场', '跑步']]
注:追加整个序列到列表。
(2)extend()
功能:用于在列表末尾一次性追加另一个序列中的多个值。
hobby_1 = ['唱歌','跳舞','Rap','篮球','健美操']
hobby_2 = ['看电影','逛商场','跑步']
hobby_1.extend(hobby_2)
print(hobby_1)
运行结果:
['唱歌', '跳舞', 'Rap', '篮球', '健美操', '看电影', '逛商场', '跑步']
(3)insert()
功能:用于将指定的对象插入列表的指定位置。
语法结构:
list.insert(index,obj)
【示例】
hobby_1 = ['唱歌','跳舞','Rap','篮球','健美操']
hobby_2 = ['看电影','逛商场','跑步']
hobby_1.insert(1,hobby_2)
print(hobby_1)
运行结果:
['唱歌', ['看电影', '逛商场', '跑步'], '跳舞', 'Rap', '篮球', '健美操']
2.删除元素
(1)根据索引删除
(2)根据元素的值删除
借助remove()方法,没有返回值但是会移除列表中的某个值得第一个匹配。
(3)pop()方法
功能:移除列表中的一个元素(默认是最后一个元素),并且返回该元素的值。
(4)clear()方法
功能:清空列表
【示例】
hobby_1 = ['唱歌','跳舞','Rap','篮球','健美操']
del hobby_1[2]
print(hobby_1)
hobby_1.remove('健美操')
print(hobby_1)
print(hobby_1.pop())
print(hobby_1)
hobby_1.clear()
print(hobby_1)
运行结果:
['唱歌', '跳舞', '篮球', '健美操']
['唱歌', '跳舞', '篮球']
['唱歌', '跳舞', '篮球', '健美操']
['唱歌', '跳舞', '篮球']
篮球
['唱歌', '跳舞']
[]
3.修改元素方法
(1)修改指定索引的数据
(2)逆序:reverse()方法
(3)复制:copy()方法
【示例】
hobby = ['唱歌','跳舞','Rap','篮球','健美操']
new_list = hobby.copy()
# 通过索引修改
hobby[2] = '享受生活,品味美食'
print(hobby)
hobby.reverse()
print(hobby)
print(new_list)
运行结果:
['唱歌', '跳舞', '享受生活,品味美食', '篮球', '健美操']
['健美操', '篮球', '享受生活,品味美食', '跳舞', '唱歌']
['唱歌', '跳舞', 'Rap', '篮球', '健美操']
4.查找元素
(1)index()方法
功能:用于从列表中找出某个值第一个匹配项的索引位置,即获取指定元素首次出现的下标。
(2)cout()方法
功能:用于统计某个元素在列表中出现的次数。
(3)len()方法
功能:返回列表元素的个数
(4)in 判断是否存在
【示例】
hobby = ['唱歌','跳舞','Rap','篮球','健美操']
print(hobby.index('Rap'))
print(hobby.count('Rap'))
print(len(hobby))
运行结果:
2
1
5
4.列表的统计与排序
(1)sum()
功能:用于统计数值列表中的元素和
num_list = list(range(10,20,2))
print(sum(num_list),num_list)
运行结果:
70 [10, 12, 14, 16, 18]
(2)排序
1)sort()方法
语法结构:
listname.sort(reverse=True/False)
2)sorted()函数
功能:排序,原列表的顺序不变
【示例】
height = [158,185,175,165,198]
height_copy = height.copy()
height.sort(reverse=True)
print("降序:",height)
height.sort(reverse=False)
print("升序:",height)
print(height_copy)
height_copy_asc = sorted(height_copy ) # 默认reverse的值为False
print(height_copy_asc)
运行结果:
降序: [198, 185, 175, 165, 158]
升序: [158, 165, 175, 185, 198]
[158, 185, 175, 165, 198]
[158, 165, 175, 185, 198]