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

如何对含数字后缀的重复列表字符串元素求和并去重

解决带数字后缀单词的重复求和问题

问题描述

有一个列表,元素为末尾带有数字的单词,其中存在重复的单词元素。需要对重复单词对应的数字求和,去除重复项后输出带有数字总和的单词。

输入示例

a = ["mango3", "apple2", "kiwi1", "kiwi2", "mango2"]

输出示例

mango5
apple2
kiwi3

实现代码

# 初始化空字典存储单词与对应数字总和
word_total = {}

# 遍历输入列表的每个元素
for item in a:
    # 从后往前拆分单词前缀和数字部分,兼容多位数后缀
    split_idx = len(item)
    for i in range(len(item)-1, -1, -1):
        if not item[i].isdigit():
            split_idx = i + 1
            break
    word = item[:split_idx]
    num = int(item[split_idx:])
    
    # 更新总和
    if word in word_total:
        word_total[word] += num
    else:
        word_total[word] = num

# 输出最终结果
for word, total in word_total.items():
    print(f"{word}{total}")

代码说明

  • 用字典word_total记录每个单词前缀对应的数字总和,键为单词前缀,值为累加后的数字。
  • 从后往前查找第一个非数字字符的位置,确保能正确拆分出单词和数字(包括多位数后缀的情况,比如orange15这类元素)。
  • 根据拆分结果更新字典:单词已存在则累加数字,不存在则初始化总和为当前数字。
  • 最后遍历字典,将单词与总和拼接后输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 17:55:57