Python 中是否有任何包提供了用于使用 NumPy 数组进行矢量化访问的字典?我正在寻找这样的东西:
>>> vector_dict = VectorizedDict({1: "One",
... 2: "Two",
... 3: "Three"},
... dtype_key=int, dtype_val="U5")
>>> a = np.array([1,2,3]),
>>> b = vector_dict[a]
>>> print(type(b))
np.ndarray
>>> print(b)
["One", "Two", "Three"]
Run Code Online (Sandbox Code Playgroud)
虽然这个结果也可以通过迭代数组元素来实现,但迭代方法对于大型数组来说效率很低。
编辑:
对于小型词典,我使用以下方法:
for key, val in my_dict.items():
b[a == key] = val
Run Code Online (Sandbox Code Playgroud)
虽然布尔掩码在迭代小字典时非常有效,但对于大字典(数千个 key-value-paris)来说很耗时。
假设我使用具有以下结构的python包:
package/
bar.py
foo.py
__init__.py
Run Code Online (Sandbox Code Playgroud)
bar.py包含类bar并foo.py包含函数foo。当我想导入函数/类时,我必须写
from package.bar import bar
from package.foo import foo
Run Code Online (Sandbox Code Playgroud)
或者我可以写
from package import bar
from package import foo
Run Code Online (Sandbox Code Playgroud)
更普遍的问:导入与类/函数同名的模块时,是否可以总是忽略类/函数名?