2014-01-17 5 views
2
первоначально

, если у меня есть две строкивозвращают нарезанную строку в строку

s1='abcdefghi' 

s2='jklmnopqr' 

Я нарежьте первую строку s1 в подстроки ['abc','def','ghi'], то я закодировать его с функцией, которая дает ряд для каждого суб- последовательность [10,2,33]. Затем я декодирую его с другой функцией декодировать whitch return ['abc','def','ghi'].

То же самое для строки s2

Теперь я хочу знать, после декодирования, как вернуть вложенные строки ['abc','def','ghi','jkl','mno','pqr'] в оригинальные строки s1='abcdefghi' и s2='jklmnopqr'

ответ

3

Edit:

Для вашего обновленного вопроса вы можете использовать это:

>>> lst = ['abc', 'def', 'ghi', 'jkl', 'mno', 'pqr'] 
>>> s1, s2 = map("".join, zip(lst[::3], lst[1::3], lst[2::3])) 
>>> s1 
'abcdefghi' 
>>> s2 
'jklmnopqr' 
>>> 

В приведенной выше демонстрации lst представляет собой список, возвращаемый вашей функцией.

1

Вы можете использовать join():

data = ['abc', 'def', 'ghi'] 
s = ''.join(data) 
1
>>> decodes = ['abc','def','ghi'] 
>>> ''.join(decodes) 
'abcdefghi' 
>>> answer = ''.join(decodes) 
>>> print(answer) 
abcdefghi 
2

Строка в Python неизменны. Это означает, что вы не можете изменять строковые объекты. Если вы повторно используете идентификатор в задании, вы создаете новый объект строки

>>> s = 'a' 
>>> id(s) 
10767896 
>>> s = 'b' 
>>> id(s) 
10767920 
Смежные вопросы