-2
给定一个列表和一些整数n,以下Python函数应返回所有可能的大小为n的子列表的列表。例如:给定[1,2,3]和n = 2,代码应该生成[[1,2],[2,3]]。除了当n = 0时,以下不含if语句的代码适用于所有值。生成子集
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,3]'? – mgilson
此错误与生成子集无关。这是if语句的语法错误。标题具有误导性,不会帮助其他类似错误的人发现问题。 – SethMMorton