我想从列表[1,2,3,4]中获取[[1],[1,2],[1,2,3],[1,2,3,4]]。我不确定这叫什么(如果有的话),也许有点像跟随子集吗?

我当前的方法是:

def following_subsets(parts):
    following_subsets = []
    for i in range(1, len(parts)):
        following_subsets.append(parts[:-i])
    return following_subsets


有没有更有效的方法可以做到这一点,还是有更多的pythonic方法?也许以某种方式利用迭代器?

最佳答案

>>> l = [1, 2, 3, 4]
>>> [l[:i+1] for i in range(len(l))]
[[1], [1, 2], [1, 2, 3], [1, 2, 3, 4]]

关于python - 从列表以高效/Python方式生成以下子集,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33683592/

10-13 07:32