2013-10-13 38 views
5

我想使用Cython编译一个Python模块,该模块可与所有键的类型(例如整数)(或其他静态和已知类型)关联的字典一起使用,和unicode类型的所有值(或其他静态和已知的)。Cython - 字典键和值静态类型定义

现在,以加快其速度,我可以声明

cdef dict Dict 

cdef int k 
cdef unicode v 

但是,我可以使整个 “字典内部 - > unicode的” 结构的静态声明?

谢谢,

+0

你可以尝试为你的需求定义一个'struct'吗? –

回答

7

我认为简短的答案是否定的。 Cython仍在使用内置的Python字典。它可以利用一些优化技术,如果你申报对象为字典,但最终字典必须能够存储不同类型的对象,所以你不能指定关键类型在编译-时间。但是你应该首先检查以确保这是一个瓶颈。 Python字典是相当不错的。