Como é que eu aponto uma corda a outra em Python?
Quero uma forma eficiente de anexar uma corda a outra em Python, além das seguintes.
var1 = "foo"
var2 = "bar"
var3 = var1 + var2
Há algum bom método embutido para usar?
570
3
Don't optimize prematuramente. Se você não tem motivos para acreditar que há's um gargalo de velocidade causado por concatenações de strings, então simplesmente fique com
+
e+=
:Dito isto, se você're objetivando algo como Java's StringBuilder, o idioma canônico Python é adicionar itens a uma lista e então usar
str.join
para concatená-los todos no final:Que une o str1 e str2 com um espaço como separadores. Você também pode fazer
"".join(str1, str2, ...)
.str.join()
leva um iterável, então você'teria que colocar as strings em uma lista ou um tuple.Isso's é o mais eficiente que se pode obter para um método de construção.
Se você precisar fazer muitas operações anexas para construir uma grande string, você pode usar StringIO ou cStringIO. A interface é como um arquivo. Ou seja: você
escreve
para anexar texto a ele.Se você'está apenas anexando duas cordas, então use
+
.