Re: [問題] dictionary對應到多維陣列

看板Python作者 (酷狗喵千代)時間17年前 (2008/02/29 08:55), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串6/6 (看更多)
※ 引述《willhunting (這些年來)》之銘言: : ※ 引述《wawawa (哇哇哇○( ̄﹏ ̄)○)》之銘言: : : 用 tuple 當作 key 可以符合你的需求嗎? : : ticket = {} : : ticket[('ABC', 1, "hello")] = 1 : : print ticket[('ABC', 1, "hello")] : 但這裡面所有東西都是變數,都是要給程式跑出來的,然後我之後要 : 能存取,用Perl來作的話會是這樣的: : %ticket=(); : $ticket{$type}->{'class'} = 1; : $ticket{$type}->{$word} = $frequency; : 用Perl的話,存取都很方便,像'class'這樣的label我也可以隨時加上去 : $ticket{$type}->{$word}這樣子的寫法等於是hash中的hash,但$word是 : 程式在執行時看到才加入,所以有幾個word就可以加入幾個word:freq的對。 : 您的方法似乎無法作到這點?我只要有一個大的ticket table然後裡面可以 : 對到在程式跑抓出來的所有ticket資料(也就是每個ticket的type,class, : 和它所有的word以及word對應的freq)。還是不很清楚怎麼用dictionary作, : 感謝賜教:) Python dictionary 就是 ... dictionary,或是 hash table Python dictionary 裡面可以是任何東西,包括另一個 dictionary (高興的話,放自己也可以) 你可以丟 list、丟 dictionary、丟值 blahblah 進去給它 key 也可用字串、物件或值 如果你要作一個可以如下存取的結構: ticket['typename']['class'] = 1 ticket['typename'][somevar] = someval 這樣建立: ticket = {} ticket['typename'] = {} 我看不懂駱駝文。只能提醒你,在使用 Python 的時候 explicitity 很重要。 如果 ticket['typename'] 你要當它是個 dict, 一定要告訴 Python,不然它不理你。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 164.107.248.238

02/29 13:46, , 1F
喔 感謝以上諸位先進 這下我懂了!感激不盡
02/29 13:46, 1F
文章代碼(AID): #17nrVthU (Python)
文章代碼(AID): #17nrVthU (Python)