def flatten(t):
list = []
for i in t:
if(type(i) != list and type(i) != tuple):
list.append(i)
else:
list.extend(flatten(i))
return list
這裏是我寫壓扁列表或看起來像展開python中的列表或元組。不知道是什麼錯誤
l = ((5, (1,2), [[1],[2]]))
當我做
flatten(l)
我期望的元組的功能獲取清單
[5, 1, 2, 1, 2]
但我反而得到
[5, 1, 2, [[1], [2]]]
我真的不知道爲什麼會這樣,因爲
else:
list.extend(flatten(i))
的這部分代碼將檢索的元組的第三個元素是[1],[2]通過內部INT遞歸地調用它。我在這裏錯過了什麼?
感謝
'名單= []'的問題。儘量不要隱藏像list這樣的內置名字/函數等。這隻會導致麻煩。 – MSeifert