array.append()是一個返回None值的函數。因此,在第一個遞歸調用中,傳遞一個None值,而不是所需的附加數組。這里有一個解決方案: #complete searcharr = [1,2,3]def all_subsets(a, i, curr): if i == len(a): print(curr) return all_subsets(a, i+1, curr + [a[i]]) all_subsets(a, i+1, curr) all_subsets(arr, 0, []) 作為一個示例,[1, 2, 3] + [4]給出了[1, 2, 3, 4],這比任何append方法都有助于降低代碼的復雜性和提高代碼的可讀性。