我正在搜索如何执行此操作,但我找不到是否有解决方案。我以为是__import__
?但我仍然无法弄明白。
例如:
>>> def combs(s = []):
... from itertools import combinations
... return [list(combinations(s, 2))]
...
>>> lst = ["A","B",'C']
>>> print(combs(lst))
[[('A', 'B'), ('A', 'C'), ('B', 'C')]]
>>>
我很好奇是否可以做到这样的事情?
def combs(s = []):
return [list(combinations(s, 2))]__import__(itertools, list)
答案 0 :(得分:1)
以下是如何在示例中实现动态导入:
def combs(s = []):
return list(__import__('itertools').combinations(s, 2))
注意:__import__
的python文档声明:
这是日常Python编程中不需要的高级函数
许多Pythonist会更喜欢显式导入(如原始示例中所示),并且可能会考虑过度使用__import__
来获得一些代码味道。