字典是一种键值对key-value pair数据结构, 用key查询到对应的值value, 但不能用value查到对应的key。但有时我们面对的分析任务,需要用value查到对应的key, bidict可以帮我们实现这一特性。
一、安装
pip install bidict
二、快速开始
2.1 基本操作
from bidict import bidict
test_data = bidict({
'华为': 'Huawei',
'比亚迪': 'BYD',
'吉利': 'Geely',
'微软': 'Microsoft',
'苹果': 'Apple'
})
print(test_data['华为'])
print(test_data.inverse['Microsoft'])
Run
Huawei
微软
2.2 get方法
跟Python字典类似,如果字典中没有对应的key,直接查询会出现KeyError错误。
test_data['三星']
Run
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
Cell In[5], line 1
----> 1 test_data['三星']
File /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/bidict/_base.py:523, in BidictBase.__getitem__(self, key)
521 def __getitem__(self, key: KT) -> VT:
522 """*x.__getitem__(key) ⟺ x[key]*"""
--> 523 return self._fwdm[key]
KeyError: '三星'
使用get方法则可避免错误发生。
test_data.get('三星', 'missing')
Run
missing
2.3 update方法
update方法可以用来
- 更改key的value
- 新增key-value-pair
#更新值
test_data.update(华为='HUAWEI')
#新增key-value-pair
test_data.update(三星='Samsung')
print(test_data['华为'])
print(test_data['三星'])
Run
HUAWEI
Samsung
2.4 pop方法
test_data.pop('三星')
Run
'Samsung'
此时再查看会发现test_data已经没有了三星相关的键值对
test_data
Run
bidict({'华为': 'HUAWEI',
'比亚迪': 'BYD',
'吉利': 'Geely',
'微软': 'Microsoft',
'苹果': 'Apple'})