相关疑难解决方法(0)

如何实现高效的双向哈希表?

Python dict是一个非常有用的数据结构:

d = {'a': 1, 'b': 2}

d['a'] # get 1
Run Code Online (Sandbox Code Playgroud)

有时你也想按值索引.

d[1] # get 'a'
Run Code Online (Sandbox Code Playgroud)

哪种方法是实现此数据结构的最有效方法?有官方推荐的方法吗?

python hashtable bidirectional

65
推荐指数
4
解决办法
3万
查看次数

是否有更好的方法来存储双向字典而不是存储它的反向分离?

给出一对一的词典(=双射)生成àla

for key, value in someGenerator:
     myDict[key] = value
Run Code Online (Sandbox Code Playgroud)

可以通过添加来简单地创建反向查找字典

    invDict[value] = key
Run Code Online (Sandbox Code Playgroud)

for循环.但这是一种Pythonic方式吗?我是否应该编写另外一个class Bijection(dict)管理这个反向字典并提供第二个查找功能的?或者这样的结构(或类似结构)是否已经存在?

python dictionary

13
推荐指数
1
解决办法
6960
查看次数

按值构建查找键的字典

字典通常很适合按键查找值,但按值查找键非常慢

for k,v in dictionary.items():
    if v = myValue:
        return k
Run Code Online (Sandbox Code Playgroud)

是否已有一个数据结构,使key-> value和ke

python

2
推荐指数
2
解决办法
255
查看次数

谁能向我解释一下Python中的两级字典是什么

我正在努力寻找任何有关这实际上是什么的文档。我看懂的只是一本普通的字典。它由键和值对组成,因此如果您搜索某个键,则会返回相应的值,例如:

\n\n
myDict = {\xe2\x80\x98dog\xe2\x80\x99 : \xe2\x80\x99fido\xe2\x80\x99, \xe2\x80\x98cat\xe2\x80\x99 : \xe2\x80\x99tiddles\xe2\x80\x99, \xe2\x80\x98fish\xe2\x80\x99 : \xe2\x80\x99bubbles\xe2\x80\x99, \xe2\x80\x99rabbit\xe2\x80\x99 : \xe2\x80\x99thumper\xe2\x80\x99}\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后你可以调用某些方法,例如:

\n\n
myDict[\xe2\x80\x98fish\xe2\x80\x99]\n
Run Code Online (Sandbox Code Playgroud)\n\n

回报

\n\n
'bubbles'\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者

\n\n
myDict.has_key(\xe2\x80\x98tiddles\xe2\x80\x99)\n
Run Code Online (Sandbox Code Playgroud)\n\n

回报

\n\n
True\n
Run Code Online (Sandbox Code Playgroud)\n\n

两层字典与此相比如何?

\n\n

看来嵌套字典正是我正在寻找的。

\n\n

还有一个问题,假设我有一个嵌套字典,它将单词链接到文本文件,其中第一个整数是文本文件的编号,第二个整数是出现的次数:

\n\n
myDict = {'through':{1:18,2:27,3:2,4:15,5:63}, 'one':{1:27,2:15,3:24,4:9,5:32}, 'clock':{1:2,2:5,3:9,4:6,5:15}\n
Run Code Online (Sandbox Code Playgroud)\n\n

如何使用文件编号来计算出存在的文本文件的总数?即有没有办法提取内部字典中键/值对的数量?

\n

python dictionary

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

python ×4

dictionary ×2

bidirectional ×1

hashtable ×1