Я хотел бы прочитать некоторые символы из строки и поместить их в другую строку (как мы это делаем в C).
Итак, мой код выглядит следующим образом
import string
import re
str = "Hello World"
j = 0
srr = ""
for i in str:
srr[j] = i #'str' object does not support item assignment
j = j + 1
print (srr)
В C код может быть
i = j = 0;
while(str[i] != '\0')
{
srr[j++] = str [i++];
}
Как я могу реализовать то же самое в Python?
str
в качестве переменной, вы не сможете выполнять преобразования строкstr(var_that_is_not_a_string)
или сравнения типов, напримерtype(var_with_unknown_type) == str
.Ответы:
В Python строки неизменяемы, поэтому вы не можете изменить их символы на месте.
Однако вы можете сделать следующее:
Причина, по которой это работает, заключается в том, что это ярлык для:
Вышеупомянутое создает новую строку с каждой итерацией и сохраняет ссылку на эту новую строку в
srr
.источник
print " ".join(reversed("Hello world".split())).capitalize()
Остальные ответы верны, но вы, конечно, можете сделать что-то вроде:
если очень хочешь.
источник
Строки Python неизменяемы, поэтому то, что вы пытаетесь сделать на C, будет просто невозможно в python. Вам нужно будет создать новую строку.
Затем используйте отрезок строки:
источник
Как упоминалось в aix, строки в Python неизменяемы (вы не можете изменить их на месте).
То, что вы пытаетесь сделать, можно сделать разными способами:
источник
Другой подход, если вы хотите поменять определенный символ на другого персонажа:
источник
Как насчет этого решения:
str = "Hello World" (как указано в проблеме) srr = str + ""
источник
Привет, вы должны попробовать метод разделения строк:
источник