[問題] Numpy的flatten方法結果似乎有錯怎麼解?
小弟在處理一個很簡單的問題時,需要將 [1,2,[3,4]] 這樣的資料串列flatten為 [1,2,3,4]。
結果發現numpy的flatten方法並沒有辦法給出想要的結果:
list(np.array([1,2,[3,4]]).flatten())
我也嘗試的其他諸如 sum(list物件, []) 和 functools.reduce(operator.iconcat, list物件, [])
結果更糟,直接丟錯誤訊息說無法處理單一數字。
TypeError: 'int' object is not iterable
之所以會認為flatten就應該丟回 [1,2,3,4] 的結果是因為Mathematica就能正確處理:
Flatten[{1, 2, {3, 4}}]
Out[1]= {1, 2, 3, 4}
胃口被養壞了 XD
不知道還有什麼比較方便的方法可以讓numpy的flatten擲回想要的結果嗎? 謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.78.225 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1682378493.A.BAC.html
※ 編輯: dosiris (111.250.78.225 臺灣), 04/25/2023 07:22:56
→
04/25 07:36,
2年前
, 1F
04/25 07:36, 1F
→
04/25 07:46,
2年前
, 2F
04/25 07:46, 2F
推
04/25 07:59,
2年前
, 3F
04/25 07:59, 3F
一樣出現 TypeError: 'int' object is not iterable
→
04/25 09:06,
2年前
, 4F
04/25 09:06, 4F
→
04/25 09:06,
2年前
, 5F
04/25 09:06, 5F
list(np.array([1,2,[3,4]]).flatten()) 沒跳出warning 但丟回的結果就是原樣
Out[31]: [1, 2, [3, 4]]
※ 編輯: dosiris (111.250.78.225 臺灣), 04/25/2023 09:26:49
→
04/25 09:45,
2年前
, 6F
04/25 09:45, 6F
→
04/25 09:48,
2年前
, 7F
04/25 09:48, 7F
→
04/25 11:14,
2年前
, 8F
04/25 11:14, 8F
推
04/25 17:52,
2年前
, 9F
04/25 17:52, 9F
→
04/25 17:52,
2年前
, 10F
04/25 17:52, 10F
→
04/25 20:07,
2年前
, 11F
04/25 20:07, 11F
Python 近期熱門文章
PTT數位生活區 即時熱門文章