1
如何解压integer (1111)
,以便返回包含列表的3元素元组?元组的第一个元素应该是包含前导数字的列表。第二个应该是在前面的数字之后并且在小数点之前的数字列表。第三个元素应该遵循小数点。解压整数或浮点二进制搜索?
例1:
>>> unpackNumber (1111)
([ 1] , [1 , 1, 1 ], [ ])
例2:
>>>unpackNumber(2.)
如何解压integer (1111)
,以便返回包含列表的3元素元组?元组的第一个元素应该是包含前导数字的列表。第二个应该是在前面的数字之后并且在小数点之前的数字列表。第三个元素应该遵循小数点。解压整数或浮点二进制搜索?
例1:
>>> unpackNumber (1111)
([ 1] , [1 , 1, 1 ], [ ])
例2:
>>>unpackNumber(2.)
有多种方式来解决这个问题,我想不出它是如何虽然与二进制搜索。
使用正则表达式是一个选项:
>>> import re
>>> re.findall(r'(^\d)(\d*)\.?(\d*)$', '123.4')
[('1', '23', '4')]
>>> re.findall(r'(^\d)(\d*)\.?(\d*)$', '123.')
[('1', '23', '')]
的元素进一步转换为整数的列表比较简单,例如:
>>> [int(d) for d in list('23')]
[2, 3]
,我寻找的输出是一系列的构成三元组元组的字符串列表。 ([2],[3],[]) 是什么应该返回,如果你输入unpackNumber(23) – user5443606
你读过我的答案?我没有给你整个代码,但是完成剩下的工作相对简单,那部分是有意留下来的,你还能学到什么? –