Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将整数输入拆分为两位数,剩余的一位数作为一位数?_Python - Fatal编程技术网

Python 如何将整数输入拆分为两位数,剩余的一位数作为一位数?

Python 如何将整数输入拆分为两位数,剩余的一位数作为一位数?,python,Python,我的整数输入是suppos2233445,我想把它拆分成一个数组22,33,44,5,并将它们附加到一个列表中。我如何才能做到这一点?只需拆分字符串即可 data="2233445" split_strings = [] # final list n = 2 # length of spliting for index in range(0, len(data), n): split_strings.append(data[index : index + n]) pr

我的整数输入是suppos2233445,我想把它拆分成一个数组22,33,44,5,并将它们附加到一个列表中。我如何才能做到这一点?

只需拆分字符串即可

data="2233445"
split_strings = [] # final list
n = 2 # length of spliting
for index in range(0, len(data), n):
    split_strings.append(data[index : index + n])
print(split_strings)

使用regex执行此操作并将结果作为
list
获取的一种方法

import re
result = re.findall('..?','2233445')
print(result)
工作演示:

s=str(2233445)
输出=[int(s[i:i+2]),用于范围(0,len(s),2)]
输出

>>> [22, 33, 44, 5]
试试这个

number = 2233445
number = str(number)
pairs = [int(number[i: i + 2]) for i in range(0, len(number), 2)]
print(pairs)

[22, 33, 44, 5]

非常感谢,它帮助了我。如果我们不转换或考虑输入作为字符串值,我们可以做同样的过程吗?@ MohamedMahir,你可以使用<代码> STR(data)< /代码>,如果我们不转换或考虑输入作为字符串值,我们能做同样的过程吗?不,对于数字,你需要用另一种方式来做。或者将其转换为字符串,即
str(2233445)
拆分背后的逻辑是什么?例如,如果输入是122333445呢?很简单,输出应该是2位数字。如果数字的长度为奇数,则最后一个数字应单独放置。e、 g(12,23,33,44,5)我问这个问题的目的是因为我必须打印输入的两位数字之和。类似于input=1122334 output=66,所以我提出了一个逻辑,将整数拆分为每2位,并使用while循环以2位值递增变量。我成功了。如果有任何替代逻辑来减少代码行,我将很高兴。我使用的循环:给出的答案是针对你所问的问题。。如果没有,你必须清楚地陈述你的问题。很抱歉。我真的想知道如何按照我的要求分割整数。