Discuss / Python / python真是简洁~

python真是简洁~

Topic source

LL-卓

#1 Created at ... [Delete] [Delete and Lock User]

一开始写的:

def triangles():
    L = [1]
    n = 0
    while 1:
        yield L
        L.append(1)
        temp = []
        for i,item in enumerate(L[:-2]):
            temp.append(L[i]+L[i+1])
        L[1:-1] = temp

后来发现,代码中的for循环实际是生成一个列表,可以直接用列表生成式完成:

def triangles():
    L = [1]
    n = 0
    while 1:
        yield L
        L.append(1)
        L[1:-1] = [item+L[i+1] for i,item in enumerate(L[:-2])]

还是对python的特性不熟,总是想用for循环去做事情~


  • 1

Reply