Python 列表统计、排序及列表推导式 - 高中教学教案
Python 列表统计、排序及列表推导式 - 高中教学教案
教学目标:
- 掌握 Python 中列表的统计、排序方法;
- 能够使用列表推导式进行数据筛选和转换;
- 能够结合实际问题进行实践操作。
教学重点:
- 列表的统计方法;
- 列表的排序方法;
- 列表推导式的使用。
教学难点:
- 列表推导式的灵活运用;
- 实际问题的解决思路。
教学内容:
一、列表的统计方法
len()函数:获取列表的长度。count()方法:统计列表中某个元素出现的次数。index()方法:获取列表中某个元素第一次出现的位置。
二、列表的排序方法
sort()方法:对列表进行升序排序。sort(reverse=True)方法:对列表进行降序排序。sorted()函数:对列表进行排序并返回一个新的排序后的列表。
三、列表推导式
- 列表推导式的基本语法:
[expression for item in iterable if condition] - 列表推导式的应用:数据筛选、数据转换、数据批量修改等。
教学方法:
理论讲解、案例演示、实践操作。
教学过程:
一、引入新知识
- 通过实例引入列表的统计方法和排序方法。
例如:
# 列表的统计方法
lst = [1, 3, 2, 1, 4, 5, 1]
print(len(lst)) # 输出 7
print(lst.count(1)) # 输出 3
print(lst.index(4)) # 输出 4
# 列表的排序方法
lst = [1, 3, 2, 1, 4, 5, 1]
lst.sort()
print(lst) # 输出 [1, 1, 1, 2, 3, 4, 5]
lst.sort(reverse=True)
print(lst) # 输出 [5, 4, 3, 2, 1, 1, 1]
lst = [1, 3, 2, 1, 4, 5, 1]
print(sorted(lst)) # 输出 [1, 1, 1, 2, 3, 4, 5]
- 通过实例引入列表推导式的基本语法和应用场景。
例如:
# 列表推导式的基本语法
lst = [x * x for x in range(1, 11)]
print(lst) # 输出 [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
# 列表推导式的应用场景
lst = [1, 3, 2, 1, 4, 5, 1]
new_lst = [x for x in lst if x > 2]
print(new_lst) # 输出 [3, 4, 5]
二、知识点讲解
- 列表的统计方法
讲解 len() 函数、count() 方法和 index() 方法的用法和注意事项。
- 列表的排序方法
讲解 sort() 方法、sort(reverse=True) 方法和 sorted() 函数的用法和注意事项。
- 列表推导式
讲解列表推导式的基本语法和应用场景,并结合实例进行演示和讲解。
三、案例演示
根据实际问题,演示如何使用列表的统计方法、排序方法和列表推导式,解决实际问题。
例如:
# 列表的统计方法应用实例
lst = [1, 3, 2, 1, 4, 5, 1]
num = 1
print('元素{}在列表中出现了{}次,第一次出现的位置是{}'.format(num, lst.count(num), lst.index(num)))
# 列表的排序方法应用实例
lst = [1, 3, 2, 1, 4, 5, 1]
lst.sort()
print('升序排序后的列表是:{}'.format(lst))
lst.sort(reverse=True)
print('降序排序后的列表是:{}'.format(lst))
lst = [1, 3, 2, 1, 4, 5, 1]
new_lst = sorted(lst)
print('排序后的列表是:{}'.format(new_lst))
# 列表推导式应用实例
lst = [1, 3, 2, 1, 4, 5, 1]
new_lst = [x for x in lst if x > 2]
print('大于2的元素有:{}'.format(new_lst))
new_lst = [x * 2 for x in lst]
print('每个元素乘以2后的列表是:{}'.format(new_lst))
四、实践操作
根据实际问题,让学生进行实践操作,掌握列表的统计方法、排序方法和列表推导式的使用。
例如:
问题:有一个班级,有 10 个学生,每个学生的成绩都在 60 分以上,请输出成绩大于 80 分的学生姓名和成绩。
scores = {'小明': 92, '小红': 85, '小刚': 78, '小李': 87, '小张': 94, '小王': 83, '小杨': 89, '小赵': 76, '小钱': 90, '小孙': 81}
lst = [name for name, score in scores.items() if score > 80]
print('成绩大于80分的学生有:')
for name in lst:
print('{}:{}'.format(name, scores[name]))
教学总结:
通过本节课的学习,我们学会了 Python 中列表的统计、排序方法,以及列表推导式的基本语法和应用场景。我们还在实践操作中学会了如何使用列表的统计方法、排序方法和列表推导式,解决实际问题。希望大家能够掌握这些知识,灵活运用到实际问题中。
原文地址: https://www.cveoy.top/t/topic/m7Tk 著作权归作者所有。请勿转载和采集!