为了账号安全,请及时绑定邮箱和手机立即绑定

不理解数列fs怎么成分开元素?

不理解数列fs怎么成分开元素?             

返回的fs是一个数列,但试了下可以用一个变量接收,也可以用和数列相同元素量的变量接收。如下: 

list=[1,2,3,4] 

c=list 

print(c)>>>[1, 2, 3, 4] 

 d1,d2,d3,d4=list 

print(d1,d2,d3,d4)>>>1 2 3 4 

 返回的是fs=[ f() , f() , f() ] ,也可以用 f1,12,f3 接收。

正在回答

3 回答

这是python的拆包功能,对于list 和 tuple都可以这样拆包,可以百度‘python 拆包’

0 回复 有任何疑惑可以回复我~

python 闭包 在循环中定义函数,函数变量会直接引用循环变量(下面函数使用:def f(j):  和  def f(j=i): 都能正常执行,为什么j 默认会等于i 呢?)

def count():

    fs=[]

    for i in range(1,4):

        #print('i=',i)

        #def f(j):

        def f(j=i):

            #print('j',j)

            def g():

                return j*j

            return g

        r=f(i)

        fs.append(r)

    return fs

f1,f2,f3=count()

print(f1(),f2(),f3())


0 回复 有任何疑惑可以回复我~

def count():

    fs = []

    for i in range(1, 4):

        def f():

             return i*i

        fs.append(f())

    return fs


f1, f2, f3 = count()

print(f1,f2,f3)

f4=count()

print(f4)




def count():

    fs = []

    for i in range(1, 4):

        def f(j=i):

             return j*j

        fs.append(f)

    return fs


f1, f2, f3 = count()

#print(f1,f2,f3)

print(f1(),f2(),f3())




def count():

    fs=[]

    for i in range(1,4):

        print('i=',i)

        #def f(j):

        def f(j=i):

            print('j',j)

            def g():

                return j*j

            return g

        r=f(i)

        fs.append(r)

    return fs

f1,f2,f3=count()

print(f1(),f2(),f3())


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

不理解数列fs怎么成分开元素?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信