【发布时间】:2021-12-31 10:49:16
【问题描述】:
我正在重构一些 python 代码,并注意到原始创建者每次需要从结果拆分列表中获取一个元素时都会调用拆分方法,而不是将拆分结果存储为变量。
我想知道这两个选项之间是否有任何性能优势,或者一个比另一个更Pythonic?
例如我会做什么
words = sentence.split(" ")
first_word = words[0]
second_word = words[1]
他们做了什么
first_word = sentence.split(" ")[0]
second_word = sentence.split(" ")[1]
【问题讨论】:
-
first_word, second_word, *_ = sentence.split(" ")?这避免了您犯的错误的风险:重复相同的索引。将字符串拆分两次当然没有意义。 -
啊哈,好点子!我已经纠正了这个错误,但我同意不要多次拆分。我的想法是,它的效率肯定也略低吗?
-
原始代码将(大约)使用 2 倍的 CPU