从多个子字符串中创建字符串时什么是pythonic - +或%?Pythonic创建字符串的方式+ vs%
big_string = string1 + string2 + ... + stringN
big_string = ''
for i in range(n):
big_string+=str(i)
或
big_string = "%s%s...%s" % (string1, string2, ... , stringN)
big_string = ''
for i in range(n):
big_string = "%s%s" % (big_string, str(i))
连续级联不仅仅是非Python化,这实际上是* *变质。老版本的Python中的性能可以接近O(n ** 2)。 –
@ IgnacioVazquez-Abrams:但在2.7或3.x中,性能表现还不错,所以我认为你可以称之为“退化”。但是,你绝对正确的说,对于一些字符串或任何循环构造来说,它是非pythonic。 (这在python-ideas和-dev的许多重复论证中出现,因为它是为解释器改变而改进“坏”代码工作方式的少数例子之一)。 – abarnert