以元组为键的 Pythran 导出字典
Pythran export dict with tuples as key
我尝试在需要 int
数组的函数中使用 Pythran,对于第二个参数 dict
和 ints
的元组作为键和 int
作为值:
myarray = np.array([[0, 0], [0, 1], [1, 1],
[1, 2], [2, 2], [1, 3]])
dict_with_tuples_key = {(0, 1): 1, (3, 7): 1}
通知 Pythran 关于 dict
的正确方法是什么?:
#pythran export update_dict((int, int):int dict, int[][])
def update_dict(dict_with_tuples_key, myarray):
# do something with dict_with_tuples_key and myarray
# return and updated dict_with_tuples_key
return dict_with_tuples_key
使用 (int, int):int dict 我得到这个错误:
File "/usr/lib/python2.7/inspect.py", line 526, in findsource
file = getfile(object)
File "/usr/lib/python2.7/inspect.py", line 403, in getfile
raise TypeError('{!r} is a built-in module'.format(object))
TypeError: <module 'sys' (built-in)> is a built-in module
从你的回溯来看,你似乎正在导入 sys
。在那种情况下,pythran 会尝试获取导入模块的源代码来编译它。由于 sys
是内置模块,因此失败。
我尝试在需要 int
数组的函数中使用 Pythran,对于第二个参数 dict
和 ints
的元组作为键和 int
作为值:
myarray = np.array([[0, 0], [0, 1], [1, 1],
[1, 2], [2, 2], [1, 3]])
dict_with_tuples_key = {(0, 1): 1, (3, 7): 1}
通知 Pythran 关于 dict
的正确方法是什么?:
#pythran export update_dict((int, int):int dict, int[][])
def update_dict(dict_with_tuples_key, myarray):
# do something with dict_with_tuples_key and myarray
# return and updated dict_with_tuples_key
return dict_with_tuples_key
使用 (int, int):int dict 我得到这个错误:
File "/usr/lib/python2.7/inspect.py", line 526, in findsource
file = getfile(object)
File "/usr/lib/python2.7/inspect.py", line 403, in getfile
raise TypeError('{!r} is a built-in module'.format(object))
TypeError: <module 'sys' (built-in)> is a built-in module
从你的回溯来看,你似乎正在导入 sys
。在那种情况下,pythran 会尝试获取导入模块的源代码来编译它。由于 sys
是内置模块,因此失败。