作者yungyuc (酷狗喵千代)
看板Python
标题Re: [问题] dictionary对应到多维阵列
时间Fri Feb 29 08:55:18 2008
※ 引述《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
1F:推 willhunting:喔 感谢以上诸位先进 这下我懂了!感激不尽 02/29 13:46