Какой правильный «питонический» способ сделать следующую операцию?
s = "" for i in xrange(0, N): s += "0101"
например. в Perl это будет: $s = "0101" x $N
$s = "0101" x $N
Почти так же, как Perl:
"0101" * N
Самый Pythonic путь будет
s = "0101" * N
Другие методы включают в себя:
использовать StringIO, который является файловым объектом для построения строк:
StringIO
from StringIO import StringIO
использовать "".join; это
"".join
`"".join("0101" for i in xrange(N)`
используйте ваш алгоритм. В неоптимизированном мире это менее хорошо, потому что оно квадратично по длине струны. Я полагаю, что последние версии Python действительно оптимизируют это так, чтобы оно было линейным, но я не могу найти ссылку на это.