生成子集

时间:2013-12-11 02:22:31

标签: python list subset

给定一个列表和一些整数n,以下Python函数应该返回一个大小为n的所有可能子列表的列表。例如:给定[1,2,3]和n = 2,代码应生成[[1,2],[2,3]]。不带if语句的以下代码适用于所有值,除非n = 0。

def Sublists (lst, n):

    if n==0
            return [ [] ]
    else
            return [lst [t:t+n] for t in range ( 0, len(lst) + 1 - n)]

print Sublists ([1, 2, 3, 4], 3)

但是,此代码会生成错误:

if n==0 
       ^
SyntaxError: invalid syntax

1 个答案:

答案 0 :(得分:1)

你错过了冒号:

if n==0:

else之后你还需要一个。