美好的一天,我有一个问题,每个人都可以将数据分割成固定长度吗?
假设
data=2220591972004161833372381965973430564161832220599125418620936367891254212825967504230783108294828632042934883049336591444611742626636047927395221895991254390547243063380503905471**64**
我想分成三部分,例如:
d1=222059197200416183337238196597343056416183222059912541862093636789125421282596750423078310829482863204293488304933659144461174262663604792739522189599125439054724306338
d3=050390 >>>> length is 6
d4=5471 >>>>> length is 4
其中最后2个数字的data is 64
是用于确定d3和d4的长度。
我已经看到了分裂的功能列表中大量的实例等,但这些都不是我找像这样在这里和这里有C ++编写的,我想同样喜欢在Python一个程序在这里
字符串数据以相同方式将数据拆分为另一部分的另一个示例,最后一位数字为x2
data2=cc32b326560de95d0fba47b5ad9072418f15caca4c39c2fe4db7003f4b8f81a79
x=cc32b326560de95d0fba47b5ad9072418f15caca4c39c2fe4db7003
x1=f4b8f81a7 >>>>length is 9
我正在使用python 3.6
spyder。谢谢大家
假设data
是一个字符串,则可以使用以下函数,该函数采用data
和一个integer 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'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句