https://repl.it/repls/PoorStupidDisassembler新增一個Class MyData,用這個去存你要的資料. 這樣至少比一直用list[m][n][o]去抓資料容易懂其他你寫的東西我有稍微修改,不過整體沒有動到.等你確定做出要的功能後,再自己把code整理一下吧重貼
http://codepad.org/rTnBeOrz (上面的沒存成功)了解. 那剩下的你再試試看囉記得你的那個叫做list的method最好改一下名稱.我的46行寫錯,左值應該要改成category[i]等等...我搞錯了. 那行不用改G_G因為那邊本來就是要把category[i][j]這個word換成MyData. 暈了我...別想的太複雜.1. __init__()就是物件的建構式,我在裡面加上word這個欄位,方便之後底下的__repr__去處理你要的功能.2. __repr__()是回傳物件的表示,像是print(object)時,就會去呼叫物件的__repr__()__init__()裡面,第一行是取出kwargs中為word的值kwargs是一個dict,所以如果kwargs裡沒有key為word的值的話,就會回傳None.第二行super(...).__init__(...)則是呼叫父類別(list)的建構式__init__().self[:] ← 因為MyData是list,所以self[:]就是取出list內的所有元素.後面的if else就相當於C的三元運算子再稍微修改後的結果:
http://codepad.org/QcD1aN0Z關於*args和**kwargs,看一下這個連結的說明
https://stackoverflow.com/questions/3394835args和kwargs只是變數名稱,不一定非要用這幾個字然後在class裡面self這個關鍵字是指`物件自己`不過正確說,`self`是大家常用的詞,不算是keywordok的! 有問題就再更新內容吧那算是coding style (詳見PEP8),就跟class method的第一個參數常用cls或clz一樣ok 加油囉y突然想到,44行 mydata = getData(link, mydata.word)要改成1. mydata.append(getData(link, mydata.word))寫錯,1. mydata.extend(getData(link, mydata.word))或2. mydata[:] = getData(link, mydata.word)