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

如何移除列表中前5位前缀重复的元素,仅保留唯一前缀对应项

Python列表按前5位前缀去重,保留首次出现元素

原始列表

list_ph = ['8002378990','8001378990','8202378990','8002378920','8002375990','8002378990','8001378890','8202398990']

需求

无需指定具体前缀值,仅通过判断元素的value[:5](前5位字符),移除列表中所有前缀重复的元素,每个前缀仅保留第一个出现的元素,最终得到结果:

['8002378990','8001378990','8202378990']

解决方案代码

list_ph = ['8002378990','8001378990','8202378990','8002378920','8002375990','8002378990','8001378890','8202398990']

# 用集合记录已出现的前缀,保证唯一性
seen_prefixes = set()
result_list = []

for phone_num in list_ph:
    # 提取前5位作为前缀
    prefix = phone_num[:5]
    if prefix not in seen_prefixes:
        seen_prefixes.add(prefix)
        result_list.append(phone_num)

print(result_list)

代码说明

  • 用集合seen_prefixes跟踪已处理的前缀,集合元素唯一的特性可以快速判断前缀是否重复
  • 遍历原始列表时,对每个号码提取前5位前缀,只要前缀未在集合中出现过,就将前缀加入集合,并把当前号码存入结果列表
  • 这种方式能确保每个前缀只保留第一次出现的号码,完全匹配需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 04:50:23