以 efficient/pythonic 方式从列表中生成以下子集
Generate following subsets from list in efficient/pythonic manner
从列表 [1,2,3,4]
我想得到 [[1],[1,2],[1,2,3],[1,2,3,4]]
。我不确定这叫什么(如果有的话),也许类似于 following subsets?
我目前的做法是:
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]]
从列表 [1,2,3,4]
我想得到 [[1],[1,2],[1,2,3],[1,2,3,4]]
。我不确定这叫什么(如果有的话),也许类似于 following subsets?
我目前的做法是:
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]]