python 二维表格有学生学号,姓名和性别 分性别统计姓出现的次数
时间: 2023-05-27 15:04:07 浏览: 97
学生的名字学号 姓名
5星 · 资源好评率100%
假设我们有一个二维表格,名为 student_table,其中包含学生的学号、姓名和性别。可以按以下步骤分性别统计姓出现的次数:
1. 首先,我们可以定义一个字典变量,名为 name_count,用于存储计数结果。字典的键是姓,值是该姓在学生姓名中出现的次数。例如,name_count['张'] = 5 表示有 5 位学生姓张。
```python
name_count = {}
```
2. 接着,我们遍历 student_table 中的每一行记录,对每一位学生进行处理。
```python
for row in student_table:
# 处理每个学生的姓名
name = row[1]
# 处理学生姓名中的姓
surname = name[0]
if surname in name_count:
name_count[surname] += 1
else:
name_count[surname] = 1
```
3. 对于性别分别计数,我们需要在处理每个学生前,判断该学生的性别是否在本次统计中需要考虑。例如,只统计女生姓名中姓张出现的次数,可以在处理每位女生之前,先判断该女生的性别是否为女性。
```python
for row in student_table:
# 处理每个学生的性别
gender = row[2]
# 判断该学生的性别是否需要考虑
if gender == '女':
# 处理每个学生的姓名
name = row[1]
# 处理学生姓名中的姓
surname = name[0]
if surname in name_count:
name_count[surname] += 1
else:
name_count[surname] = 1
```
4. 最后,我们可以将统计结果按姓的字母顺序输出,便于查看和比较。
```python
# 按姓的字母顺序排序
sorted_names = sorted(name_count.keys())
for name in sorted_names:
print(name, name_count[name])
```
完整代码如下:
```python
# 定义一个字典,用于存储计数结果
name_count = {}
# 遍历 student_table 中的每一行记录
for row in student_table:
# 处理每个学生的性别
gender = row[2]
# 判断该学生的性别是否需要考虑
if gender == '女':
# 处理每个学生的姓名
name = row[1]
# 处理学生姓名中的姓
surname = name[0]
if surname in name_count:
name_count[surname] += 1
else:
name_count[surname] = 1
# 按姓的字母顺序排序
sorted_names = sorted(name_count.keys())
# 输出统计结果
for name in sorted_names:
print(name, name_count[name])
```
注意:以上代码只是一个示例,实际应用中可能需要根据具体的数据结构和数据格式进行修改。
阅读全文