具有完全评估键的字典
项目描述
此软件包提供了一个 NamespaceDict 映射,它使用Python语法完全评估键。例如,它可以执行嵌套查找、属性查找和元组拼接
>>> from namespacedict import NamespaceDict >>> >>> # create a new namespace >>> ns = NamespaceDict() >>> >>> # nested lookup from a list >>> ns['x'] = [1, 2, 3] >>> ns['x[1]'] 2 >>> # set a docstring attribute >>> ns['y'] = lambda x: x >>> ns['y.__doc__'] = 'my function' >>> ns['y.__doc__'] 'my function' >>> >>> # set three items from a tuple >>> ns['a, b, c'] = 'A', 'B', 'C' >>> ns['b'] 'B'
键以安全的方式使用Python的AST库进行解析。因此,可以创建复杂的字典查询,并按预期工作
>>> ns['one'] = 1 >>> ns['two'] = 2 >>> ns['x[0:two]'] = 5, 4 >>> ns['x[::-one]'] [3, 4, 5]
NamespaceDict 类型也可以用作其他映射的适配器,通过在初始化时传递底层数据结构
>>> # create a numpy array with named columns >>> import numpy as np >>> a = np.empty(5, dtype=[('col1', int), ('col2', int), ('col3', int)]) >>> >>> # use NamespaceDict to access array >>> ns = NamespaceDict(a) >>> >>> # access named columns through namespace >>> ns['col1, col2, col3'] = 1, 2, 3 >>> ns['col2'] array([2, 2, 2, 2, 2])
可以使用 .data 属性检索映射。
项目详情
关闭
namespacedict-0.3.0.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 70d8bde0672a090b4fdf291cab58a362d6d1cad8f001915471d94b55073442af |
|
MD5 | 6e66983bee99fc36f18cb0484686e37f |
|
BLAKE2b-256 | db8a500afef50f0a4d11fd119c724788c66827a38ca60560b9e45e8c2c1c83f5 |