15得票5回答
使namedtuple接受kwargs

如果我有一个类:class Person(object): def __init__(self, name, **kwargs): self.name = name p = Person(name='joe', age=25) # age is ignored 额外的...

12得票3回答
使用Pythonic的方式代替具有相同键的(嵌套)字典?

我发现我经常避免使用词典,因为它们的代码中通常有近一半是重复的。尤其是在嵌套字典中,所有子字典都包含相同的键,但不同的值。 我手动创建一个大的父字典,其中每个键都包含一个嵌套字典,以供外部模块使用。所有嵌套字典都使用相同的键来定义配置参数。这种用法是明确的并且有效,但为每个手动创建的嵌套字典...

19得票2回答
“namedtuple”在内存使用上是否真的和元组一样高效?我的测试结果是否。

据Python文档中所述,`namedtuple`的优点之一是它和元组一样节省内存。为了验证这一点,我使用了带有ipython_memory_usage的iPython。测试结果如下图所示: 测试结果显示: 10000000 个 `namedtuple` 实例占用了约 850 M...

63得票5回答
namedtuple._replace()在文档中描述的方式无法正常工作。

我在实现namedtuple._replace()时遇到了麻烦,所以我直接从文档中复制了代码:Point = namedtuple('Point', 'x,y') p = Point(x=11, y=22) p._replace(x=33) print p 我得到了:Point(x=11...

22得票2回答
Python语法中如何在一个命名元组内部定义另一个命名元组

是否可以在另一个namedtuple中使用namedtuple? 例如:from collections import namedtuple Position = namedtuple('Position', 'x y') Token = namedtuple('Token', ['key...

9得票3回答
像字典一样搜索namedtuple

为了节省内存和避免冗余的数据库存储(是的,可能会进行预先优化),我使用namedtuple而不是字典。 但是我需要搜索记录的集合,我的字典方法是: import operator def query(D,key,val, keynotfound=None): ''' D: ...

25得票4回答
为什么namedtuple模块不使用元类来创建nt类对象?

几周前,我花了些时间研究了collections.namedtuple模块。该模块使用一个工厂函数,将动态数据(新的namedtuple类的名称和类属性名称)填充到一个非常大的字符串中。然后使用exec执行该字符串(表示代码的参数),并返回新的类。 有没有人知道为什么这样做,当有一个特定的工具...

9得票1回答
一个比namedtuples _replace更好的替代方案是什么?

请看这段代码: >>> import urlparse >>> parts = urlparse.urlparse('http://docs.python.org/library/') >>> parts = parts._replace...

58得票11回答
为什么Python不支持记录类型?(即可变的具名元组)

为什么Python没有原生支持记录类型?这与具有可变版本的namedtuple有关。 我可以使用namedtuple._replace. 但是,我需要将这些记录放入集合中,由于namedtuple._replace创建另一个实例,因此我还需要修改集合,这很快变得混乱。 背景: 我有一个设备...

11得票4回答
NumPy中类似于命名元组的数据结构是什么?

是否可能创建一个类似于collections.namedtuple的NumPy对象,以便可以像这样访问元素: data[1] = 42 data['start date'] = '2011-09-20' # Slight generalization of what is possible...