小编For*_*ald的帖子

是什么使元素有资格在Python中进行集合成员资格测试?

我想了解哪些项目可以测试setPython的成员资格.通常,集成员资格测试的工作方式类似于listPython中的成员资格测

>>> 1 in {1,2,3}
True
>>> 0 in {1,2,3}
False
>>> 
Run Code Online (Sandbox Code Playgroud)

但是,集合与列表的不同之处在于它们不能包含不可用的对象,例如嵌套集合.

列表,没关系:

>>> [1,2,{1,2}]
[1, 2, {1, 2}]
>>> 
Run Code Online (Sandbox Code Playgroud)

设置,因为不可用而不起作用:

>>> {1,2,{1,2}}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'set'
>>> 
Run Code Online (Sandbox Code Playgroud)

现在,即使集合不能成为其他集合的成员,我们也可以在成员资格测试中使用它们.这样的检查不会导致错误.

>>> {1} in {1,2,3}
False
>>> {1,2} in {1,2,3}
False
>>> set() in {1,2,3}
False
>>> 
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试进行相同的测试,其中被测试的元素是a dict,我得到一个错误,表明被测试的元素不能是不可用的.

>>> {'a':1} in {1,2}
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: …
Run Code Online (Sandbox Code Playgroud)

python collections set

7
推荐指数
2
解决办法
446
查看次数

标签 统计

collections ×1

python ×1

set ×1