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

Python实现驼峰转下划线命名(禁用enumerate等)遇问题

CamelCase转下划线命名的实现(禁用enumerate)

可行代码实现

def camel_to_snake(s):
    result = []
    for char in s:
        if char.isupper():
            result.append('_')
            result.append(char.lower())
        else:
            result.append(char)
    return ''.join(result)

# 测试示例
print(camel_to_snake("testTest"))  # 输出: test_test

针对你遇到的问题分析

  • "not enough values to unpack (expected 2, got 1)"错误
    你应该是写了类似for a, b in s:的循环逻辑——字符串的每个元素都是单个字符,无法拆分成两个值,因此触发拆包失败。如果需要同时处理相邻字符,也不需要这种错误的遍历方式,上面的方案完全可以满足需求。

  • "cannot assign to expression"错误
    这个问题是因为你把表达式放在了赋值语句的左侧,比如写了char.lower() = char这类反向操作。正确的做法是将处理后的结果赋值给变量,比如lower_char = char.lower()。

  • 字符逐行输出的问题
    你大概率是在循环里每次单独调用print(char),而没有先把所有字符收集到容器(比如列表)中,最后拼接成完整字符串再输出。上面的代码通过列表收集所有字符,最后用join合并后打印,就能得到连贯的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 21:57:04