2014-01-02 2 views
1

Я создал пустую строку:Как заполнить пустую строку, которая уже была создана в питоне

s = "" 

, как я могу добавить текст к нему? Я знаю, как добавить что-то список, как:

list.append(something) 

но как можно добавить что-то в пустую строку?

+0

лучший способ, чем concatinating строки, как вы идете, чтобы сохранить все детали в списке, пока не нужен результат, а затем сделать одно соединение (которое тогда происходит внутри кода C), то есть '." .join (string_segments_list) ' – norlesh

ответ

4

Право имя будет конкатенировать строку в другой, вы можете сделать это с помощью оператора +:

s = "" 
s = s + "some string" 
print s 

>>> "some string" 
3

Strings неизменяемы в Python, вы не можете добавить к ним. Однако вы можете объединить две или несколько строк вместе, чтобы создать третью строку.

>>> a = "My string" 
>>> b = "another string" 
>>> c = " ".join(a, b) 
>>> c 
"My string another string" 

В то время как вы можете сделать это:

>>> a = a + " " + b 
>>> a 
"My string another string" 

вы фактически не добавляя к исходному a, вы создаете новый строковый объект и присвоив его a.

+0

, так что его невозможно добавить в текст? – Coddy

+0

вы можете, конкатенируя - 'a = a +" некоторый текст ", который будет возвращать новый объект, который присваивается' a'. – MattDMo

4

так:

s += "blabla" 

Пожалуйста, обратите внимание, что, поскольку строки неизменяемый, каждый раз, когда вы объединяетесь, возвращается новый объект строки.

1

Python str (строки) являются неизменяемыми (не подлежащими модификации). Вместо этого вы создаете новую строку и назначаете исходную переменную, позволяя сборщику мусора в конечном итоге избавиться от исходной строки.

Однако array.array ('B', string) и bytearray являются изменяемыми.

Вот пример использования изменяемый ByteArray:

#!/usr/local/cpython-3.3/bin/python 

string = 'sequence of characters' 

array = bytearray(string, 'ISO-8859-1') 

print(array) 

array.extend(b' - more characters') 

print(array) 
print(array.decode('ISO-8859-1')) 

HTH

Смежные вопросы