我的问题是我有一个列表,例如
l =[1, 2, 3, 4, 5, 15]
我想将它分成两个列表,list1 将包含实际列表的单个元素,该元素应该是列表中所有其他数字的总和,list2 包含其余部分。所以这个输出将是 ([1, 2, 3, 4, 5], [15])
如果可能的话,返回 False
。
最佳答案
这是一种方式,但不一定是最佳方式。它使用了,在我看来未被充分利用的,for...else...
构造。
我还反转
range
迭代器。在您提供的情况下,这会更有效率。
l = [1, 2, 3, 4, 5, 15]
def splitter(l):
for i in reversed(range(len(l))):
if sum(l[:i]) == sum(l[i:]):
return [l[:i], l[i:]]
else:
return False
splitter(l) # [[1, 2, 3, 4, 5], [15]]
关于python - 检查您是否可以将列表分成 2 以及其中的数字的精确总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48538451/