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

如何为字符数为奇数的字符串末尾添加下划线以实现双字符分割?

Python字符串按2字符分组:奇数长度末尾补下划线

要实现这个需求,只需要在分割前先处理原字符串:判断其长度是否为奇数,若是则在末尾追加一个下划线_,之后再按每2个字符分割即可。

修改后的代码如下:

def split_string(string: str) -> list:
    n = 2
    # 处理奇数长度的情况:末尾补下划线
    if len(string) % 2 != 0 and string:  # 空字符串不处理
        string += "_"
    list1 = [string[i: i + n] for i in range(0, len(string), n)]
    return list1


# 测试示例
print(split_string("123456"))  # ["12", "34", "56"]
print(split_string("ab cd ef"))  # ["ab", " c", "d ", "ef"]
print(split_string("abc"))  # ["ab", "c_"]
print(split_string(" "))  # [" _"]
print(split_string(""))  # []

关键说明

  • 条件判断len(string) % 2 != 0 and string:既确保字符串长度为奇数,又排除空字符串的情况(空字符串不需要补下划线)。
  • 补下划线后再执行原有的列表推导式分割逻辑,保证所有分组都是2个字符长度。

测试结果完全符合需求:

  • 长度为偶数的字符串(如"123456"、"ab cd ef")分割结果不变;
  • 奇数长度的非空字符串(如"abc"、" ")会先补下划线再分割,得到每组2字符的结果;
  • 空字符串返回空列表,符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 17:07:44