请问为什么在recursion limit=3000的时候依然显示超过最大深度限制?

新手上路,请多包涵
class sorted_list(object):
    def __init__(self,elements):
        self.elements=sorted(elements)
    def __iter__(self):
        self.position=-1
        return self
    def __next__(self):
        if self.position == len(self.elements)-1:
            raise StopIteration
            self.position+=1
        return self.elements[self.position]
    
namelist=['a','d','c']
sorted_namelist=sorted_list(namelist)#提示这一行 超过最大迭代深度限制
for name in sorted_namelist:
    print(name)
阅读 1.3k
1 个回答

缩进问题

    def __next__(self):
        if self.position == len(self.elements)-1:
            raise StopIteration
            self.position+=1

要改成

    def __next__(self):
        if self.position == len(self.elements)-1:
            raise StopIteration
        self.position+=1
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题