How to implement __iter__(self) for a container object (Python)

后端 未结 9 1963
甜味超标
甜味超标 2020-12-02 08:00

I have written a custom container object.

According to this page, I need to implement this method on my object:

__iter__(self)

Howe

9条回答
  •  暖寄归人
    2020-12-02 08:28

    example for inhert from dict, modify its iter, for example, skip key 2 when in for loop

    # method 1
    class Dict(dict):
        def __iter__(self):
            keys = self.keys()
            for i in keys:
                if i == 2:
                    continue
                yield i
    
    # method 2
    class Dict(dict):
        def __iter__(self):
            for i in super(Dict, self).__iter__():
                if i == 2:
                    continue
                yield i
    

提交回复
热议问题