Python 遍历嵌套的Leftsequence

Python 遍历嵌套的Leftsequence,python,iteration,sequence,Python,Iteration,Sequence,我只是想知道如何遍历嵌套的Leftsequence 我用以下代码制作了一个左序列: def leftSeq(s): ls = "leer" for i in range(len(s), 0, -1): ls = (l[i - 1], ls) return ls l = [1,2,3] 输出=(1,(2,(3,'leer')) 如何遍历它?您可以使用像这样的while循环,并通过ls嵌套: x = (1, (2, (3, 'leer'))) #=left

我只是想知道如何遍历嵌套的Leftsequence

我用以下代码制作了一个左序列:

def leftSeq(s):
    ls = "leer"
    for i in range(len(s), 0, -1):
        ls = (l[i - 1], ls)
    return ls

l = [1,2,3]
输出=
(1,(2,(3,'leer'))


如何遍历它?

您可以使用像这样的while循环,并通过
ls
嵌套:

x = (1, (2, (3, 'leer'))) #=leftSeq(l)

while len(x) > 1:
    print(x)
    x = x[1]


您可以使用像这样的while循环,并通过
ls
嵌套:

x = (1, (2, (3, 'leer'))) #=leftSeq(l)

while len(x) > 1:
    print(x)
    x = x[1]


您可以为这样的左序列创建迭代器:

def left_iterator(lseq):
    while isinstance(lseq,tuple) and len(lseq) == 2:
        first, lseq = lseq
        yield first
    yield lseq

#test:

x = (1, (2, (3, 'leer')))
for i in left_iterator(x):
    print(i)
输出:

1
2
3
leer

您可以为这样的左序列创建迭代器:

def left_iterator(lseq):
    while isinstance(lseq,tuple) and len(lseq) == 2:
        first, lseq = lseq
        yield first
    yield lseq

#test:

x = (1, (2, (3, 'leer')))
for i in left_iterator(x):
    print(i)
输出:

1
2
3
leer

你的缩进没有意义。粘贴代码,突出显示它,然后单击编辑器窗口中的代码图标(或使用快捷方式
ctrl+C
)。缩进没有意义。粘贴代码,高亮显示它,然后单击编辑器窗口中的代码图标(或使用快捷方式
ctrl+C
)。