跳转到主要内容

具有完全评估键的字典

项目描述

tests coverage

此软件包提供了一个 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 (3.8 kB 查看散列)

上传时间:

支持