-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