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

Python处理含多空格文本排序时报too many values to unpack错误如何解决

报错原因

你调用line.split(' ')时默认会按所有空格对整行做全量拆分,当队名字段包含空格时,拆分得到的列表长度会大于3,赋值给group, score, team三个变量时就会触发值不匹配的解包错误。

修复方案

利用Python字符串split()方法的maxsplit参数,指定最多拆分2次,前两次拆分得到组、分数字段,剩余所有内容全部归属队名字段,就能兼容带空格的队名:

data = []
with open('data.txt') as f:
    for line in f:
        # 先去掉行尾换行/空白符,再最多拆分2次
        group, score, team = line.strip().split(maxsplit=2)
        data.append((int(score), group.strip(), team.strip()))

data.sort(reverse=True)
print("Top Scores:")
# 直接切片取前3条,写法更简洁
for score, group, team in data[:3]:
    print(f'{group} - {score} - {team}')

运行结果

用你提供的测试文件运行后,输出结果为:

Top Scores:
asedd - 5 - dont do it
swsds - 3 - never mind us
sklks - 2 - just cool

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 15:57:03