Dan*_*iel 6 python recursion for-loop user-input
我目前有一些Python代码,如下所示:
for set_k in data:
for tup_j in set_k:
for tup_l in tup_j:
Run Code Online (Sandbox Code Playgroud)
问题是,我希望嵌套for语句的数量根据用户输入的不同而不同.如果我想创造出产生的正数的函数用于像上面那些声明,我怎么会去这样做?
def nfor(data, n=1):
if n == 1:
yield from iter(data)
else:
for element in data:
yield from nfor(element, n=n-1)
Run Code Online (Sandbox Code Playgroud)
演示:
>>> for i in nfor(['ab', 'c'], n=1):
... print(i)
...
ab
c
>>> for i in nfor(['ab', 'c'], n=2):
... print(i)
...
a
b
c
Run Code Online (Sandbox Code Playgroud)