如何优化蛇形命名字符串转驼峰命名字符串的Python代码?
优化蛇形命名转驼峰命名的Python代码(列表推导式实现)
你的原代码存在依赖冗余、逻辑复杂、可读性差的问题,以下是用列表推导式实现的优化版本,同时解决了连续下划线等边界场景:
def snake_to_pascal(snake_str): # 分割字符串并过滤空值,对每个单词首字母大写后拼接 return ''.join([word.capitalize() for word in snake_str.split('_') if word]) def main(): print(snake_to_pascal("i_am_a_snake_cased_string")) # 输出: IAmASnakeCasedString print(snake_to_pascal("i__am__double_underscore")) # 输出: IAmDoubleUnderscore if __name__ == '__main__': main()
优化说明
- 移除不必要的
re模块依赖,直接用split('_')分割蛇形字符串,逻辑更直观 - 列表推导式中加入
if word过滤分割后产生的空字符串,兼容连续下划线的场景 - 利用
capitalize()方法自动完成单词首字母大写、其余字母小写的转换,替代原代码中冗余的索引判断 - 代码结构简洁,可读性和执行效率均优于原实现
内容的提问来源于stack exchange,提问作者Gaurav Mishra
相关产品推荐
相关产品推荐

