Python 字典是基本的数据结构之一,有时需要用到多个键值维护一组数据,事实上python的
dict
已经支持类似功能,本文记录实现方法。
d = {key1 : value1, key2 : value2 }
key
要求可哈希,而且必须不可变,可以用数字、字符串、元组作为键值(列表不可以)key
,好像多维空间中的坐标轴,维度数量可能可变可能不变
key
是唯一的,但是元组可以作为 key
,因此把多组关键词用元组包裹起来可以作为唯一的 key
使用dict ={(ke11,key12): value, (key21,key22):value ...}
使用时形式:
dict[key11,key12]
# 或
dict[(key11,key12)]
A = dict()
A[('foo', 'bar')] = 'hello'
A['nice', 'to', 'see'] = 'world'
A['you', 'again'] = 'do not reply'
print(A)
->
{('foo', 'bar'): 'hello', ('nice', 'to', 'see'): 'world', ('you', 'again'): 'do not reply'}
key
多键值的方法事实上已经可以解决很多问题,如果需要比较严格地控制维度可以尝试多 key
的实现方式
A = {
'foo': {'bar' : 'hello'},
'nice': {'to': {'see': 'world'}},
'you': {'again': 'do not reply'}
}
print(A)
print(A['foo']['bar'])
print(A['nice']['to']['see'])
print(A['you']['again'])
->
{'foo': {'bar': 'hello'}, 'nice': {'to': {'see': 'world'}}, 'you': {'again': 'do not reply'}}
hello
world
do not reply
key
下值需要成为字典才可以增加关键词层数,那么这个值就无法成为其他有意义的内容