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

如何用Python对物理单位列表分组并简化(合并同类单位指数)

测量单位简化的Python实现

需求:将给定的测量单位列表按相同单位分组,累加对应指数,剔除指数总和为0的单位,得到简化后的结果。

实现代码

my_list = [['N'], ['m', '-24'], ['km', '-1'], ['s', '-1'], ['m', '2'], ['N', '-1'], ['s', '-1'], ['m', '2']]

# 统计每个单位的指数总和
unit_exponents = {}
for item in my_list:
    unit = item[0]
    # 处理无显式指数的情况,默认指数为1
    exp = int(item[1]) if len(item) > 1 else 1
    if unit in unit_exponents:
        unit_exponents[unit] += exp
    else:
        unit_exponents[unit] = exp

# 过滤指数为0的单位,转换为目标格式
ans = [[unit, str(total_exp)] for unit, total_exp in unit_exponents.items() if total_exp != 0]

print(ans)

代码说明

  • 用字典unit_exponents存储单位与累计指数的映射,方便分组统计。
  • 遍历原始列表时,判断元素长度:仅含单位的项默认指数为1,带指数的项则将字符串指数转为整数累加。
  • 最后通过列表推导式筛选出指数总和不为0的单位,转换成要求的二维列表结构。

运行代码后输出结果:

[['m', '-20'], ['km', '-1'], ['s', '-2']]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 03:21:00