Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将列表添加到列表中,然后将另一个列表添加到刚才添加的列表中_Python_List - Fatal编程技术网

Python 将列表添加到列表中,然后将另一个列表添加到刚才添加的列表中

Python 将列表添加到列表中,然后将另一个列表添加到刚才添加的列表中,python,list,Python,List,基本上,我试图通过使用lambda函数对int进行编码,并将它们分配到一个列表中 目前的执行情况: succ = (lambda f: lambda n: f(n)) def encode(i): zeroList = [] secondaryList = [] encodedList = [succ] if i == 0: return zeroList else: x = i - 1 for x

基本上,我试图通过使用lambda函数对int进行编码,并将它们分配到一个列表中

目前的执行情况:

succ = (lambda f: lambda n: f(n))

def encode(i):
    zeroList = []
    secondaryList = []
    encodedList = [succ]

    if i == 0:
        return zeroList  
    else:
        x = i - 1
        for x in range(0, x):
            secondaryList.append(succ)
        encodedList.append(secondaryList)
    return encodedList
因此encode(4)的输出当前为:

[<function <lambda> at 0x0000024D71943DC8>, [<function <lambda> at 0x0000024D71943DC8>, <function <lambda> at 0x0000024D71943DC8>, <function <lambda> at 0x0000024D71943DC8>]]

因此,如果有意义的话,我会继续向我当前所在的列表中添加一个列表。

尝试此操作以获得
[fun,[fun,[fun,fun]]]
输出类型:

succ = (lambda f: lambda n: f(n))
def encode(i):
    return [succ] + [encode(i-1)] if i>0 else succ
print(encode(4))
def encode(i):
    return [succ] + [encode(i-1)] if i>1 else [succ]
print(encode(4))
输出

[<function <lambda> at 0x7fb72267d710>, [<function <lambda> at 0x7fb72267d710>, [<function <lambda> at 0x7fb72267d710>, [<function <lambda> at 0x7fb72267d710>, <function <lambda> at 0x7fb72267d710>]]]]
[<function <lambda> at 0x7fb72267d710>, [<function <lambda> at 0x7fb72267d710>, [<function <lambda> at 0x7fb72267d710>, [<function <lambda> at 0x7fb72267d710>]]]]
输出

[<function <lambda> at 0x7fb72267d710>, [<function <lambda> at 0x7fb72267d710>, [<function <lambda> at 0x7fb72267d710>, [<function <lambda> at 0x7fb72267d710>, <function <lambda> at 0x7fb72267d710>]]]]
[<function <lambda> at 0x7fb72267d710>, [<function <lambda> at 0x7fb72267d710>, [<function <lambda> at 0x7fb72267d710>, [<function <lambda> at 0x7fb72267d710>]]]]
[,[,[,[,[]]

您是否试图实现Church数字(在这种情况下,您对
succ
的定义是错误的)?嗯,我被要求做的是f(n),[f(n),f(n)]等等,但它与Church类似。churchsucc是什么?是否有理由将
succ
(或任何其他功能)存储在列表中?整个编码似乎基于列表中存储的内容的数量;甚至筑巢似乎也不相关。(为什么
[fun][fun][fun,fun]]
而不是
[fun,fun,fun]
?为什么
[fun,fun]
而不是
[fun][fun]
?)就我所知,没有真正的理由,只是一个练习。等等,似乎有一个问题,列表的末尾是重新运行(fun,fun]]),而不是(fun,[fun])有没有办法解决这个问题?@Lamebro1在你的问题中,你提到你希望输出像
[fun,[fun,[fun,[fun,fun]]]
哦,我的糟糕!我本想写有趣的,有趣的-抱歉typo@Lamebro1检查更新的答案是否解决了您的问题。