mwa*_*ior 3 python union scope set mutability
我有一个定义了成员的类:
self.myset = set()
Run Code Online (Sandbox Code Playgroud)
当我执行时myobject.myset.add('item'),使用我的类的一个实例,它工作正常:print(myobject.myset)给我 {'item'} 。
但是,当我执行myobject.myset.union(yourset), whereyourset不为空时,它将不起作用;print(myobject.myset)仍然打印为空集。为什么一种方法 ( add) 有效而另一种方法 ( )union却悄悄地(没有抛出异常)失败?即使myobject.myset = yourset有效,但union尤其不会。
我正在使用 Python 3。
set.union()不会就地修改旧的集合,但是set.add()会。set.union()而是返回一个新集合。
myobject.myset = myobject.myset.union(yourset)
Run Code Online (Sandbox Code Playgroud)
这应该可以解决问题。有关更多信息,请参阅Python 文档set.union()。
| 归档时间: |
|
| 查看次数: |
4309 次 |
| 最近记录: |