gpt4 book ai didi

python - 将数字拆分为所有可能的数字组,保持原始顺序

转载 作者:行者123 更新时间:2023-12-02 04:38:33 25 4
gpt4 key购买 nike

我有一个号码,我想将其拆分,如下所示。我想保留数字出现的顺序,但由此创建的列表必须保持数字的原始顺序。

我的号码是3147,可以如下所示进行拆分。 3147可以拆成31、47或3、1、47等,但原数的顺序不能丢失。

那么我该如何实现呢?

如果我能用 Python 得到答案那就最好了,但用任何其他语言也可以。

Input
3147

Output

[3,1,4,7]
[3,147]
[3,1,47]
[31,4,7]
[31,47]
etc

最佳答案

您可以使用我的答案的改编版 here :

代码:

def splitter(n):
s = str(n)
for i in range(1, len(s)):
start = s[0:i]
end = s[i:]
yield [int(start), int(end)]
for split in splitter(end):
result = [start]
result.extend(split)
yield list(int(x) for x in result)

用法:

for x in splitter(3147):
print(x)

输出:

[3, 147]
[3, 1, 47]
[3, 1, 4, 7]
[3, 14, 7]
[31, 47]
[31, 4, 7]
[314, 7]

关于python - 将数字拆分为所有可能的数字组,保持原始顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60004279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com