2016-11-18 3 views
-4

Можно ли взять строку и установить для каждого символа строки другую переменную? Другими словами ..Как разбить строку на отдельные символы в Python

string='Hello' 

#Do some thing to split up the string here 

letter_1= #The first character of the variable 'string' 
letter_2= #The second character of the variable 'string' 
#... 
letter_5= #The fifth character of the variable 'string' 

Спасибо за любые ответы.

+2

Почему вы хотите сделать это? Вы уже можете получить доступ к каждому персонажу аналогичным образом. 'letter_1' будет' string [0] ',' letter_2' будет 'string [1]' и так далее. – TigerhawkT3

+1

Посмотреть эту тему http://stackoverflow.com/questions/4978787/how-to-split-a-string-into-array-of-characters-with-python – rodelarode

ответ

-2

В Python строки неизменяемы, поэтому вы не можете изменить их символы на месте. Однако, если вы пытаетесь получить доступ по индексу, то вы получите:

TypeError: 'str' object does not support item assignment 

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

string='Hello' 
print(string) 
s = list(string) 
s[0] = "M" 
new_string = ''.join(s) 
print(new_string) 

Конечный результат:

Hello 
Mello 
+0

Я не знаю, откуда у вас возникла мысль, что это было желательно. Возможно, это было принято (по какой-то причине), но будущие посетители, на самом деле ищущие ответ на этот вопрос, увидят в этом ответе несвязанные задачи, что на самом деле не помогает. – TigerhawkT3

+0

«Можно ли взять строку и установить другую переменную для каждого символа строки?» Затем OP показывает код, на который я ответил первой частью моего ответа. Затем на заголовке OP спрашивает «Как разбить до строки в отдельные символы в Python ", на который я дал решение. – Inconnu

+1

Они явно означали, что они хотят установить переменную, представляющую каждый из символов строки, как они показывают в своем блоке кода, вместо того, чтобы изменять строку с новым значением для каждого символа. OP является новым для сайта; они могут даже подумать, что они должны принять ответ. Как бы то ни было, это больше похоже на ответ на другой вопрос. – TigerhawkT3

-1

Строка уже разделена на разные символы! Python обрабатывает строки как массивы, поэтому, если вы вызвали метод массива string[0], вы должны вернуть письмо «H». Вы можете сделать это в итеративном цикле, добавив каждый в переменную или список, но самый простой способ работы с отдельными буквами - это сослаться на их позицию! Я рекомендую цикл For, который вызывает длину строки как диапазон, это самый простой способ работы с каждой из букв.

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