小尹学python

导航

Python:推导式关于列表和元组的区别案例

def num1():
    return [lambda x:x+i for i in range(3)]  # 生成函数,并且函数已经执行,循环已经结束,i=2
print(num1())  # [<function num1.<locals>.<listcomp>.<lambda> at 0x000001A6AA9729D0>, <function num1.<locals>.<listcomp>.<lambda> at 0x000001A6AA972A60>, <function num1.<locals>.<listcomp>.<lambda> at 0x000001A6AA972AF0>]
result1 = [m(3) for m in num1()]
print(result1) # [5,5,5]

def num2():
    return (lambda x:x+i for i in range(3))  # 生成生成器,函数未执行,未开始循环
print(num2())  # <generator object num2.<locals>.<genexpr> at 0x000001A6AA939C80>
result2 = [m(3) for m in num2()]
print(result2) # [3, 4, 5]

posted on 2021-10-18 22:40  小尹学python  阅读(35)  评论(0)    收藏  举报