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

编程实现字符串仅显示首字母 其余字符替换为下划线

单词首字母保留、其余字符替换为下划线的实现方案

需求梳理

  • 输入:单词列表,示例数据为 ['cat', 'dog', 'chicken']
  • 处理规则:每个单词仅保留首字母,剩余所有字母替换为下划线
  • 预期输出:['c__', 'd__', 'c______']

常见for循环实现出错的原因

大部分人用for循环写不出正确结果,基本是踩了两个典型的坑:

  • Python的字符串是不可变类型,不支持直接通过索引原位修改内容,类似word[1:] = '_'的写法会直接抛出类型错误
  • 下划线数量和原单词长度不匹配,不管单词多长都只拼1个下划线,最终输出长度不符合要求

不用逐字符遍历单词做替换,利用Python的字符串切片特性直接取首字母,再拼接对应数量的下划线即可,逻辑更简单也不容易出错。

正确for循环实现代码

word_list = ['cat', 'dog', 'chicken']
result = []
for word in word_list:
    # 兼容空字符串边界场景,避免取首字母时触发索引越界报错
    if not word:
        result.append("")
        continue
    # 取首字符,拼接「单词长度-1」个下划线
    masked_word = word[0] + "_" * (len(word) - 1)
    result.append(masked_word)

print(result)
# 输出结果:['c__', 'd__', 'c______']

简化写法

如果不需要保留显式循环的处理流程,也可以直接用列表推导式一行生成结果:

word_list = ['cat', 'dog', 'chicken']
result = [word[0] + "_"*(len(word)-1) if word else "" for word in word_list]

提示:如果你的单词列表里可能混入非字符串类型的元素,需要在循环里先加类型判断,避免运行报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 17:12:10