Предполагая, что data
является строкой, вы можете использовать следующую функцию, которая принимает data
и целое число n
, которое сообщает, сколько символов следует использовать с конца строки.
def split(data, n):
indices = list(int(x) for x in data[-n:])
data = data[:-n]
rv = []
for i in indices[::-1]:
rv.append(data[-i:])
data=data[:-i]
rv.append(data)
return rv[::-1]
Использование:
>>> split(data, 2)
['222059197200416183337238196597343056416183222059912541862093636789125421282596750423078310829482863204293488304933659144461174262663604792739522189599125439054724306338',
'050390',
'5471']
>>> split(data2, 1)
['cc32b326560de95d0fba47b5ad9072418f15caca4c39c2fe4db7003', 'f4b8f81a7']
Если вы хотите, чтобы n
всегда было 2, просто отредактируйте функцию следующим образом:
def split(data):
indices = list(int(x) for x in data[-2:])
data = data[:-2]
rv = []
for i in indices[::-1]:
rv.append(data[-i:])
data=data[:-i]
rv.append(data)
return rv[::-1]
Для назначения переменные, то вы можете использовать
>>> d1, d2, d3 = split(data)
>>> d1
'222059197200416183337238196597343056416183222059912541862093636789125421282596750423078310829482863204293488304933659144461174262663604792739522189599125439054724306338'
>>> d2
'050390'
>>> d3
'5471'