gpt4 book ai didi

python - 将整数字符串拆分为所有可能的数字列表

转载 作者:行者123 更新时间:2023-11-30 22:44:13 26 4
gpt4 key购买 nike

我有一串整数,例如s = "1234" 我想将其拆分为整数的各个顺序组合 split = [ 1234, 1, 2, 3, 4, 12, 123, 23, 234, 34 ] 我如何用 Python 编写这个代码?

我尝试过:

for i in range(0,len(number)-1):
x =["" + number[j] for j in range(i, len(number))]
print(x)

输出:

['1', '2', '3', '4', '5']
['2', '3', '4', '5']
['3', '4', '5']
['4', '5']

最佳答案

您可以使用combinations来自itertools库结合 list comprehension :

>>> from itertools import combinations
>>> s = "1234"
>>> [int(''.join(x)) for i in range(len(s)) for x in combinations(s, i + 1)]
[1, 2, 3, 4, 12, 13, 14, 23, 24, 34, 123, 124, 134, 234, 1234]

更新由于您只需要顺序组合,因此可以使用字符串中的所有子字符串(使用 How To Get All The Contiguous Substrings Of A String In Python? ):

>>> l = len(s)
>>> [int(s[i:j+1]) for i in range(l) for j in range(i,l)]
[1, 12, 123, 1234, 2, 23, 234, 3, 34, 4]

关于python - 将整数字符串拆分为所有可能的数字列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41589617/

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