我有一个布尔列表:
[True, True, False, False, False, True]
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法来计算True列表中的数量(所以在上面的例子中,我希望返回3.)我找到了寻找特定元素出现次数的例子,但还有更多我和Booleans一起工作的有效方法呢?我想的东西类似all或any.
我set在交互式python会话中使用它作为变量名称而意外地覆盖了 - 有没有什么办法可以在set不重新启动会话的情况下访问原始函数?
(我在那个会话中有很多东西,我宁愿不必这样做,虽然我当然可以在必要的时候.)
我犯了一个错误如下:
>>> list = ['a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)
但现在我想使用内置函数list().如您所见,listname list和内置函数之间存在命名冲突list().
list如果不重新启动Python shell,我如何使用内置函数而不是变量?
尝试使用Python解释器,我无意中分配了一个字符串,str如下所示:
str = 'whatever'
Run Code Online (Sandbox Code Playgroud)
后来在同一场会议上,我打电话给另一个声明str(),说......
double_whatever = str(2) + ' * whatever'
Run Code Online (Sandbox Code Playgroud)
...,并得到错误TypeError: 'str' object is not callable(而不是预期的输出'2 * whatever').一个相关的SO答案帮助我快速看到了我犯的错误.
但是,我仍然不清楚如何str()在受影响的会话中修复呼叫.当然我可以退出Python解释器并启动另一个会话,但我很好奇如何避免这种情况.
到目前为止,我已确认......
double_whatever = __builtins__.str(2) + ' * whatever' # => '2 * whatever'
Run Code Online (Sandbox Code Playgroud)
...仍然像我想要的那样工作; 但我不清楚如何回到不需要__builtins__.资格.
如何修复我无意识的重新定义,str以便我str()在Python-interpreter会话中的调用再次起作用?