计算、保存和访问npy文件python中的列表列表

计算、保存和访问npy文件python中的列表列表,python,arrays,numpy,recursion,nested-lists,Python,Arrays,Numpy,Recursion,Nested Lists,这和我的帖子有点关系 我还有两个问题: 1-如何编写代码以访问列表中的[3,3]。X=[1,1]],[2,2]],[3,3]],[4,4] 因为当我检查大小时,它是(2,)它们都被视为元素0?我怎样才能把它改成 2-当T为大数值时,如何消除以下代码的递归错误 import numpy as np import random def functioncalculatedB(): return([(random.randint(1,2)),(random.randint(1,3)),(ra

这和我的帖子有点关系

我还有两个问题:

1-如何编写代码以访问列表中的
[3,3]
X=[1,1]],[2,2]],[3,3]],[4,4]
因为当我检查大小时,它是
(2,)
它们都被视为元素
0
?我怎样才能把它改成

2-当T为大数值时,如何消除以下代码的递归错误

import numpy as np
import random

def functioncalculatedB():
    return([(random.randint(1,2)),(random.randint(1,3)),(random.randint(1,4)),(random.randint(1,5)),random.randint(1,6)])

def main():
    '''X=[[[[[],1],2],3],4]

    print(np.shape(X))
    '''
    episodes=40000
    T=2000000
    for e in range(episodes):
        X=[]

        for time_t in range(1,T+1):

            B= functioncalculatedB() #B=[b0,b1,b2,b3,b4]
            X=[X, B] #X.extend(B)

    np.save('./save/X.npy',X)

if __name__ == "__main__":
    main()

X
不是数组,而是列表。列表和数组是不同的对象。这是一个嵌套很深的列表<如果我算对的话,code>X[0][0][0][0]就是
[]
X[0][1]
[3,3]
。我并不奇怪这种嵌套会产生递归错误。python对于这种数据结构来说是错误的语言。您将大小2的列表递归地放在大小2的列表中。通常在python中,我们将新值附加到现有列表的末尾。我们可以使用
[0]
访问第一个,使用[-1]访问最后一个。倒数第二个用[-2]等。这是一个简单的平面列表。遍历这样的列表很容易。并将其转换为numpy数组进行计算。