将切片字符串返回到原始字符串

时间:2014-01-17 22:26:25

标签: python string

如果我有两个字符串

s1='abcdefghi'

s2='jklmnopqr'

我将第一个字符串s1切分为子字符串['abc','def','ghi'],然后我编码它的函数为每个子序列[10,2,33]提供数字。 然后我用其他函数解析它解码返回['abc','def','ghi']

字符串s2

的情况相同

现在,我想知道解码后如何将子字符串['abc','def','ghi','jkl','mno','pqr']返回到 原始字符串s1='abcdefghi's2='jklmnopqr'

4 个答案:

答案 0 :(得分: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 :(得分:2)

Python中的字符串是不可变的。这意味着您无法更改字符串对象。如果在赋值中重用标识符,则创建新的字符串对象

>>> s = 'a'
>>> id(s)
10767896
>>> s = 'b'
>>> id(s)
10767920

答案 2 :(得分:1)

您可以使用join()

data = ['abc', 'def', 'ghi']
s = ''.join(data)

答案 3 :(得分:1)

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