Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- """
- Thread: https://python-forum.io/Thread-Cheat-against-recursion-limit
- Have fun...
- """
- import sys
- from collections import deque
- def construct_deep_list(n):
- x = y = []
- for _ in range(n):
- x.append([])
- x = x[0]
- x.append('Secret')
- return y
- def deep_iter3(iterable, ignore=(str, bytes)):
- heap = deque([iterable])
- while heap:
- element = heap.popleft()
- if isinstance(element, ignore):
- yield element
- continue
- try:
- sub_heap = []
- for sub_element in element:
- sub_heap.append(sub_element)
- except TypeError:
- yield element
- else:
- heap.extendleft(reversed(sub_heap))
- deep_list = construct_deep_list(sys.getrecursionlimit())
- mixed_list = [1,2, ['test'], (3,1),4, deep_list]
- result = list(deep_iter3(mixed_list))
- print(result)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement