作者ioptt (ioptt)
看板Python
标题[问题] dictionary<string,dictionary<string,
时间Thu Mar 31 15:23:07 2016
各位前辈, 想请问
class1(string name, string type, string comt)
Dictionary<string(module), Dictionary<string(name), class1>>
的问题
我需要从档案中读取资料, 想存在如上的资料结构里, 以方便做search
由於档案的内容长度不一定, 所以想利用dictionary的特性.
当我抓到第一组资料时, ex:
module1: name0, type0, comt0
name1, type1, comt1
name2, type2, comt2
....
nameN, typeN, comtN
module2: name0, type0, comt0
name1, type1, comt1
....
nameM, typeM, comtM
.......
moduleK: name0, type0, comt0
name1, type1, comt1
....
nameL, typeL, comtL
由於几个module是不一定, 每个module里有几组name/type/comt也不一定.
我想要做成一个方便资料搜索的dictionary
当我想搜寻module2时, 会去找module2里的dictionary,
然後去找nameX, 然後资料会找到nameX, typeX, comtX
我现在碰到的问题是:
由於不同模组下的name, 有可能会相同, 但type和comt可能会不同,
且我不知道会有几个module, 所以我要怎麽动态去产生 不同module下的dictionary.
请教各位前辈高手了. 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 210.61.209.67
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1459408990.A.5F3.html
1F:推 tiefblau: 两层dict或是用tuple(module_name, name)当成key 03/31 15:42
2F:推 largesperm: 如果你的 module 名称不一样 你下面的 dict key 一样 03/31 17:40
3F:→ largesperm: 也没差吧 上层不一样就可以了 03/31 17:41
4F:→ largesperm: 第二层甚至不用 dict 用 list 就好了 反正都固定 03/31 17:42
5F:→ largesperm: 第二层要 dict 也是可以 03/31 17:43
6F:→ largesperm: {mod1:{name0:[type0,comt0]}, mod2:{name0:[type0,co 03/31 17:44
7F:→ largesperm: mt0]}} 03/31 17:44
8F:→ largesperm: 尽管在 mod1 跟 mod2 dict 都有 name0 也没差 03/31 17:44
9F:→ largesperm: 反正是在不同的 dict(mod1,mod2) 03/31 17:45