tolist 與 list 在層與型態轉換的定義為何?
2021/07/13 上午 00:14
Numpy 陣列的定義與屬性
lin
觀看數:229
回答數:1
收藏數:0
"list(a) 只會把第一層的元素轉換成 List,多層的話只有第一層會轉;tolist() 才能達成多層的型態轉換。" 想請問這兩句"層"與"型態轉換"的定義在程式中代表的意義是什麼?
回答列表
-
2021/07/13 下午 07:35Chu Jia Ping贊同數:0不贊同數:0留言數:0
### 層的意義 * 我認為可以把中括號 `[ ]` 當作「層」來看 * 例如課程範例中的變數`a`: ```python [ [ 0 1 2 3 4] [ 5 6 7 8 9] [10 11 12 13 14] ] ``` 左上右下的中括號包著的就是第一層,也是最外層的意思 第一層裡面有三個 array --- ### 型態轉換 * `list()` 和 `tolist()` 都是可以將 array 轉成 1 維 list 型態的方法 * 差別在於 array 中的元素有沒有完全被轉換(實現多層轉換) * 可以試著用下列程式碼去看每個元素的型態 會發現只有 `tolist()` 能將每一層的 array 轉換為 list ```python for i in list(a): print(type(i)) #
# # ``` ```python for i in a.tolist(): print(type(i)) # # # ```