2024-04-24 17:11:45 发布
网友
有时看到下面这样的代码,并做了一些调试,但仍然困惑。想知道它是否初始化为set()的列表?set()的列表,并且集合中的每个元素也是一个列表?把我在PyCharm中看到的东西贴出来,并感谢任何人能够帮助解释语法的含义,以及如何阅读这行代码。你知道吗
table = [set() for i in range(10)]
谨致问候, 林
这只是PyCharm表示空set的方式。标准Python解释器将改为使用set(),因为这是您将输入解释器来创建空set的内容,并且一致性很有帮助。从技术上讲,set([])将一个空的list发送给set内置函数,这将产生一个空的set对象,但是您只需set()就可以得到相同的结果。我不知道为什么PyCharm的开发人员决定用另一种方式表示一个空集。你知道吗
set
set()
set([])
list
在标准Python解释器中:
>>> set() set() >>> set([]) set()
set([])无法表示包含空的list的set,因为list不是可哈希类型(如图所示,它将用{[]}表示):
{[]}
>>> {[]} Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unhashable type: 'list'
如果您想知道这种非标准表示背后的原因,您必须询问PyCharm的开发人员。你知道吗
这只是PyCharm表示空
set
的方式。标准Python解释器将改为使用set()
,因为这是您将输入解释器来创建空set
的内容,并且一致性很有帮助。从技术上讲,set([])
将一个空的list
发送给set
内置函数,这将产生一个空的set
对象,但是您只需set()
就可以得到相同的结果。我不知道为什么PyCharm的开发人员决定用另一种方式表示一个空集。你知道吗在标准Python解释器中:
set([])
无法表示包含空的list
的set
,因为list
不是可哈希类型(如图所示,它将用{[]}
表示):如果您想知道这种非标准表示背后的原因,您必须询问PyCharm的开发人员。你知道吗
相关问题 更多 >
编程相关推荐