在 python 中,定义变量的最快方法是什么,既可以拆分字符串,又可以转换为小写字母和条带化空格?
就像是
args.where = 'Sn = Smith'
a,v = args.where.lower().split('=').strip()
原文由 RASG 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 python 中,定义变量的最快方法是什么,既可以拆分字符串,又可以转换为小写字母和条带化空格?
就像是
args.where = 'Sn = Smith'
a,v = args.where.lower().split('=').strip()
原文由 RASG 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要的是列表理解,这里是解决您问题的示例。
args.where = 'Sn = Smith'
a,v = [val.strip() for val in args.where.lower().split('=')]
原文由 Diogo Rosa 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
您正在将一个字符串拆分为一个列表,并且您不能删除该列表。您需要处理拆分中的每个元素:
这使用生成器表达式来处理每个元素,因此不会为剥离的字符串创建中间列表。如果表达式没有恰好产生两个值,Python 将在此处抛出异常。
在这种情况下专注于 速度 是.. 毫无意义的,除非你在非常大的元素上这样做。不过,您 可以 使用
map()
对上述内容进行微优化:但是可读性的代价可能不值得,不仅仅是两个元素。