在嵌套列表

时间:2018-05-20 17:43:45

标签: python

我有这段代码

def get_vector (vx,vy):
    lst = [[[] for _ in range (len(vx[0]))]for _ in range (len(vx))]
    print (lst[1])
    for x in range (len(lst)):
        for y in range (len(lst[x])):
            print (vx[x,y])
            c = math.sqrt(pow(vx[x,y],2)+pow(vy[x,y],2))
            print (c)
            cos_angle_y= ((pow(vx[x,y],2)) + (pow(c,2)) - (pow(vy[x,y],2))) / 2*vx[x,y]*c
            uhol=math.cos(math.radians(cos_angle_y))
            lst[x][y].append([c,uhol])
    return lst

我的问题是如何访问或保存这些值,以便我可以稍后从嵌套列表中访问它们。我试过这个,但它有点工作但不是真的。我得到了正确的价值,但我不确定如何访问它们。

lst = get_vector(vx,vy)
print (lst[0][10])

这是我从print lst[0][10] : [[1.0, 0.9998476951563913]]

获得的结果

我需要将值0.999 ...转换到类似于lst [0] [10] [2]的结构中列表之外的另一个变量,或者如果可能的话,采用一些不同的方法,任何建议?

2 个答案:

答案 0 :(得分:0)

您需要做的就是添加第三个索引位置来访问这些值。

var = lst [0] [10] [1]

依此类推,可以访问嵌套列表中的各个值。请记住,索引从零开始,因此第二个元素是索引1

答案 1 :(得分:0)

所以我做的第一个错误就像上面一篇文章中提到的索引一样,尽管索引不是lst [0] [10] [1]而是lst [0] [10] [0] [1]。我还通过更改追加插入并将插入拆分为两个单独的步骤来追加创建额外索引的问题

 lst[x][y].insert(0,c)
 lst[x][y].insert(1,uhol)