【发布时间】:2019-06-08 01:41:37
【问题描述】:
给定一个列表说 [4,5,6,7] 我想写一个函数来输出 所有对,如 ([4,5,7],[6]) ,( [4,5] , [6,7]) 子列表长度不固定
我使用了一个 for 循环和两个新列表来将第 i 个元素附加到第一个列表中 并将剩余的附加到列表 2 然后重复这个过程,我知道这是一种愚蠢的方法
a = [4,5,6,7]
for x in range(0,len(a)):
b = []
c = []
b.append(a[x])
for y in range(0,len(a)):
if y!=x:
c.append(a[y])
print(b,c)
for x in range(0,len(a)-1):
b = []
c = []
b.append(a[x])
b.append(a[x+1])
for y in range(0,len(a)):
if y!=x and y!=x+1:
c.append(a[y])
print(b,c)
我希望打印所有可能的子列表,但总是错过不连续的子列表,我得到([4, 5],[6,7])但从不生成 ([4,6],[5,7])
【问题讨论】: