【发布时间】:2020-07-13 16:13:14
【问题描述】:
我需要一个类似于 2D dict 的结构,它允许快速删除操作。 F.e.
x['a']['b'] = 1
x['a']['c'] = 1
x['a']['d'] = 1
x['b']['a'] = 1
x['b']['f'] = 1
x['e']['b'] = 1
x['f']['c'] = 1
...
即键 a,b,c,e,f,c,... 可以在两个维度中使用
第一维删除速度很快,即
del x[a]
但如果要按第二维删除,则必须先枚举元素,这很慢。
您也可以将此结构想象为 2D 表,其中列和行都有名称,并且您可以快速删除整行或整列。同时,每次添加一个单元格。
你的解决方案是什么?
PS> 一种可能性是保留 2 到 1 维的键列表,但这会占用太多内存,并且会保留不会被删除的行/列的数据!
使用 Pandas 数据框会更快吗?
key1, key2, data
【问题讨论】:
标签: python dictionary 2d del two-way