作者willhunting (这些年来)
看板Python
标题Re: [问题] dictionary对应到多维阵列
时间Thu Feb 28 17:35:02 2008
※ 引述《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