2014-01-17 43 views
2

如果我有兩個字符串切片字符串返回到原單串

s1='abcdefghi' 

s2='jklmnopqr' 

I切片的第一個字符串s1成子串['abc','def','ghi'],然後我編碼其與功能賦予的編號爲每個子序列號[10,2,33]。 然後我解碼它與其他功能解碼 whitch返回['abc','def','ghi']

字符串s2

同樣的事情現在,我想解碼如何將子串['abc','def','ghi','jkl','mno','pqr']返回到 原始字符串後才知道s1='abcdefghi's2='jklmnopqr'

回答

3

編輯:

對於您更新的問題,您可以使用:

>>> 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