让我们看下面的代码片段:
d = {1:1}
keys = d.keys()
print(keys & {1,2,3})# {1}
d[2] = 2
print(keys & {1,2,3}) # {1,2} # keys() is a view/reference
print({1,2}.issubset({1,2,3})) # True
print(keys.issubset({1,2,3})) # 'dict_keys' object has no attribute 'issubset'
Run Code Online (Sandbox Code Playgroud)
在字典视图对象的官方文档中提到:
键视图设置类似,因为它们的条目是唯一且可清除的...然后这些设置操作可用("其他"指的是另一个视图或一组):[&,|,^,^]
如果键设置为类似,为什么它们上的设置操作仅限于这四个中缀操作.例如,为什么不允许使用issuperset或issubset不允许无副作用的操作?
例如,为什么不是无副作用的操作
issuperset或issubset不允许操作?
他们是; 你只需要使用>=和<=运算符:
print(keys <= {1, 2, 3})
Run Code Online (Sandbox Code Playgroud)
他们也支持isdisjoint方法形式,因为它没有运算符:
print(keys.isdisjoint({1, 2, 3}))
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           138 次  |  
        
|   最近记录:  |