Re: [問題] dictionary對應到多維陣列
※ 引述《wawawa (哇哇哇○( ̄﹏ ̄)○)》之銘言:
: ※ 引述《willhunting (這些年來)》之銘言:
: : 小弟是個Python新手,關於dictionary的使用還不太熟悉。
: : 想請教一個觀念,就是如何用dictionary來達成類似多維陣
: : 列的功能。比如說我有一個東西叫ticket,ticket裡有好多
: : 種type,每個type裡還可以分為1和-1兩個class,每個class
: : 裡有很多字和字出現的次數。以陣列的方式來表示是像這樣
: : 的:
: : type class word
: : ticket['ABC'] [1] ["hello"] = 1 ; type為ABC,class為1的ticket中
: : ; hello這個字出現一次
: : 請問要怎麼用dictionary表示出這樣的資料結構呢?
: : 我想用一種類似在Perl中hash裡放hash的方式,但是試了一下
: : 發現都出錯了,該怎麼用dictionary作出這樣的功能呢?謝謝
: : 各位的指點了:)
: 用 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作,
感謝賜教:)
--
別人的愛情像海深,我的愛情淺。
別人的愛情像天長,我的愛情短。
別人眉來眼去,我只偷看妳一眼。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 160.39.4.62
討論串 (同標題文章)
Python 近期熱門文章
PTT數位生活區 即時熱門文章