, list(a_set), , . a RuntimeError, , , :
a = {1,2,3}
for item in a:
print(item)
a.add(item+3) # add one item
a.remove(item) # remove one item
1 31 ( , ), , set 3 .
, list, ( ) , :
a = {1,2,3}
for item in list(a):
print(item)
a.add(item+3)
a.remove(item)
print(a)
:
1
2
3
set([4, 5, 6])
, , , , , , , ( set). set dict, , __hash__ __eq__.
, "" :
class Fun(object):
def __init__(self, value):
self.value = value
def __repr__(self):
return '{self.__class__.__name__}({self.value})'.format(self=self)
def __eq__(self, other):
return self.value == other.value
a = {Fun(1),Fun(2),Fun(3)}
for item in a:
print(item)
a.add(Fun(item.value+3))
a.remove(item)
"" ( , , id , , ) Fun , .