2024-04-28 15:33:06 发布
网友
这是一种好奇心。假设我以交互方式使用IPython,默认情况下导入
from numpy import sum
然后我决定使用标准库中的sum。比如说,做
sum
texts = [['a','good','day'],['a','lovely','day']] sum(texts, [])
我能做到吗?怎么做
您可以在__builtin__(Python 2)或builtins(Python 3)下访问它:
__builtin__
builtins
>>> from numpy import sum >>> texts = [['a','good','day'],['a','lovely','day']] >>> sum(texts, []) Traceback (most recent call last): [...] TypeError: cannot perform reduce with flexible type >>> __builtin__.sum(texts, []) ['a', 'good', 'day', 'a', 'lovely', 'day'] >>> from __builtin__ import sum >>> sum(texts, []) ['a', 'good', 'day', 'a', 'lovely', 'day']
但有两点:
(1)IPython默认情况下不导入numpy的sum,除非您在遗留pylab模式下工作,在这种情况下,您不应该这样做。:-)
pylab
(2)sum不是一个很好的例子,因为使用sum(something, [])连接列表将显示二次行为,因此通常应该避免
sum(something, [])
您可以在
__builtin__
(Python 2)或builtins
(Python 3)下访问它:但有两点:
(1)IPython默认情况下不导入numpy的sum,除非您在遗留
pylab
模式下工作,在这种情况下,您不应该这样做。:-)(2)
sum
不是一个很好的例子,因为使用sum(something, [])
连接列表将显示二次行为,因此通常应该避免相关问题 更多 >
编程相关推荐