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

Python字节串列表求和方法及sum(a)返回423原因解析

直接调用sum(a)得到423的原因
  • a = b'[10,20]'是bytes类型的字节串,并非存储了10、20两个整数的列表。
  • Python迭代bytes对象时,逐个返回的是每个字节对应的ASCII整数值(取值范围0~255),不会自动解析字节中承载的文本语义。
  • 对b'[10,20]'包含的所有字节取ASCII值求和,结果恰好为423:
    各字节对应数值:[对应91、1对应49、0对应48、,对应44、2对应50、0对应48、]对应93
    累加计算:91 + 49 + 48 + 44 + 50 + 48 + 93 = 423
正确对内容中数值求和的方法

返回的字节串是标准JSON格式的数组内容,按以下步骤处理即可:

  1. 将bytes字节串按对应编码解码为普通字符串(通常接口返回用utf-8编码)
  2. 将JSON格式的字符串解析为Python整数列表
  3. 对解析得到的列表调用sum()计算总和

参考实现代码:

import json

a = b'[10,20]'
# 解码字节串并解析为数值列表
num_list = json.loads(a.decode("utf-8"))
# 计算求和
result = sum(num_list)
print(result)  # 输出正确结果30

如果接口返回使用其他编码,将decode()方法的参数替换为对应编码名称即可,比如gbk。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 18:12:12