只是無法理解為什么這段代碼不起作用:
def list_flatten(a_list):
for item in a_list:
if isinstance(item, list):
list_flatten(item)
else:
yield item
print(list(list_flatten([["A"]])))
print(list(list_flatten(["A", ["B"], "C"])))
期待:
- [“A”]和
- [“A”、“B”、“C”]
得到
- [] 和
- [“A”,“C”]
旁注:不要使用chain.from_iterable,因為它也會分解字串,例如 ["123"] 可能會以 ["1","2","3"] 結尾
uj5u.com熱心網友回復:
您沒有對遞回呼叫的結果做任何事情。
改變
list_flatten(item)
到
yield from list_flatten(item)
你應該很高興。(請參閱檔案。yield from)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/439086.html
標籤:Python python-3.x
