"TypeError: 'set' object is not callable"

"TypeError: 'set' object is not callable"

我有两个 iPython 笔记本安装。一个在 AWS 微型实例上,第二个在我的 Macbook 上使用 Anaconda (OS X Yosemite)。 我遇到了他们处理以下代码的方式不同:

my_list = [1, 2, 3, 0, 5, 10, 11, 1, 5]
your_list = [1, 2, 3, 0, 12, 13]
my_set = set(my_list)
your_set = set(your_list)
print my_set
print len(my_set)
print len(my_list)

在 iPython-AWS 上,我的输出是:

set([0, 1, 2, 3, 5, 10, 11])
7
9

在 iPython-Macbook 上,我的输出是:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-29-cd060f1b0bde> in <module>()
      1 my_list = [1, 2, 3, 0, 5, 10, 11, 1, 5]
      2 your_list = [1, 2, 3, 0, 12, 13]
----> 3 my_set = set(my_list)
      4 your_set = set(your_list)
      5 print my_set

TypeError: 'set' object is not callable

此外,这些是安装详细信息(如果相关): 1. iPython 在 AWS 微型实例上:http://i.stack.imgur.com/qYrq8.png

  1. iPython Macbook 上的笔记本 - http://i.stack.imgur.com/Q6Id5.png

我似乎找不到造成这种差异的原因,尽管我确实在 Whosebug 上遇到过许多关于 "TypeError: 'set' object is not callable" 问题的讨论帖。 如果能帮助我理解为什么会这样,我将不胜感激,如果我能做些什么来确保我的代码在两个安装上运行。

此错误表明您可能定义了一个变量名为 set 的集合,如果您这样做,将覆盖 built-in 函数 set .

发生此问题的示例 -

>>> set = set([1,2,3,4,5])
>>> my_set = set([2,3,4,5,6])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'set' object is not callable

您可以在顶部菜单中重新启动内核。 内核->重启

只需删除您分配的任何预定义变量,可能是有意或无意的,错误就会消失。 我错误地 placed = sign 在打印语句和括号之间 print=(A|B); 因为它正在发生。 清除打印变量后就没问题了。

写:

my_set = set

my_set.update(my_list)

不要使用括号。

[已修复]

类型错误:'set'对象不可调用

我们知道集合是 'built-in function'

您只需在分配任何变量和 运行 程序之前添加 (del set)

P.S : 稍后您可以删除它。

示例:

tuple_data = {'A','B',1, 2, 'B','A'}
#del set
var_1 =  set(tuple_data)
print(var_1)
type(var_1)

输出:

{1, 2, 'B', 'A'}
set