字典:a.利用课程 QQ 群的班内序号表中的数据,使用 dict()和 zip()建立一个 班内序号为键,姓名为值的字典,遍历输出其自己的班内序号前后的 10 名 同学的班内序号和姓名(自己的班内序号可以是第 1 个到第 10 个均可)。
时间: 2024-04-30 07:20:24 浏览: 12
假设班内序号表数据为一个列表,其中每个元素为一个元组,第一个元素表示班内序号,第二个元素表示姓名,代码如下:
```
students = [(1, '张三'), (2, '李四'), (3, '王五'), (4, '赵六'), (5, '钱七'), (6, '孙八'), (7, '周九'), (8, '吴十'), (9, '郑十一'), (10, '冯十二'), (11, '陈十三'), (12, '蔡十四'), (13, '曹十五'), (14, '卫十六'), (15, '沈十七'), (16, '韩十八'), (17, '杨十九'), (18, '朱二十'), (19, '秦二十一'), (20, '尤二十二')]
```
使用 dict() 和 zip() 函数建立字典,代码如下:
```
dict_students = dict(zip([s[0] for s in students], [s[1] for s in students]))
```
其中 `[s[0] for s in students]` 表示获取班内序号列表,`[s[1] for s in students]` 表示获取姓名列表,`zip()` 函数将两个列表分别对应合并为一个元组列表,再使用 `dict()` 函数将其转换为字典。
遍历输出班内序号前后的 10 名同学的班内序号和姓名,代码如下:
```
my_id = 1 # 自己的班内序号
for i in range(my_id - 10, my_id + 11):
if i in dict_students:
print(i, dict_students[i])
```
其中 `my_id` 表示自己的班内序号,循环遍历从自己的前 10 名到后 10 名,如果该班内序号存在于字典中,则输出该同学的班内序号和姓名。