You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何重排选手列表中的姓名字符串并计算整数平均值?

问题与解决方案

需求说明

课程作业要求:读取文件并转换为嵌套列表(每个子列表对应一位选手),在此基础上完成两个处理:

  1. 姓名字符串重排,例如将Ty Cobb改为Cobb, Ty
  2. 计算每个子列表中所有整数的平均值
    最终输出格式要求为[[Cobb, Ty, 3747.5], [...], [...]]

现有实现代码

my_file = open("sample-1.txt.txt")
data3 = my_file.read()
list1 = data3.split(" ")
flist = list()
len_flist = 10
for i in range(0, len(list1), len_flist):
    flist.append(list1[i:i+len_flist])
my_file.close()
print(flist)

当前输出

[['Ty', 'Cobb', '13099', '11434', '3053', '724', '295', '117', '1249', '9'], ['\nChipper', 'Jones', '10614', '8984', '1671', '549', '38', '468', '1512', '1'], ['\nJonny', 'Bench', '8674', '7658', '1254', '381', '24', '389', '891', '1'], ['\nHank', 'Aaron', '13941', '12364', '2294', '624', '98', '755', '1402', '3'], ['\nTony', 'Gwynn', '10232', '9288', '2378', '543', '85', '135', '434', '2'], ['\nJohn', 'Smoltz', '1167', '948', '118', '26', '2', '5', '79', '3'], ['\nAaron', 'Woods', '1122', '123', '324', '45', '88', '1561', '9', '18']]

解决方案

处理步骤说明

  1. 清理名字中的换行符:当前部分子列表的第一个名字带有\n,用strip()方法去除多余字符
  2. 重排姓名格式:将名 姓的格式转换为姓, 名
  3. 计算整数平均值:提取子列表中从第3个元素开始的所有字符串,转换为整数后计算平均值
  4. 整合结果:将重排后的姓名和平均值组成新的子列表,形成目标格式的嵌套列表

修改后完整代码

my_file = open("sample-1.txt.txt")
data3 = my_file.read()
list1 = data3.split(" ")
flist = list()
len_flist = 10
for i in range(0, len(list1), len_flist):
    flist.append(list1[i:i+len_flist])
my_file.close()

# 处理每位选手的数据生成结果
result = []
for player in flist:
    # 清理名字中的换行符并拆分
    first_name = player[0].strip()
    last_name = player[1].strip()
    # 重排姓名为目标格式
    formatted_name = f"{last_name}, {first_name}"
    # 提取数字部分并转整数,计算平均值
    num_list = list(map(int, player[2:]))
    average = sum(num_list) / len(num_list)
    # 添加到结果列表
    result.append([formatted_name, average])

print(result)

代码解释

  • player[0].strip():去除名字开头的换行符和多余空格
  • f"{last_name}, {first_name}":用格式化字符串快速拼接成目标姓名格式
  • list(map(int, player[2:])):将子列表中从第3位开始的字符串批量转换为整数
  • sum(num_list) / len(num_list):计算整数列表的平均值,自动保留小数精度

内容的提问来源于stack exchange,提问作者Ash Lucky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 21:25:41