首页 > 解决方案 > 我在 python 中制作列表列表时遇到了麻烦

问题描述

大家好,我是 python 新手,我在尝试组织数据时遇到了一些麻烦。

我有这些列表nuxdx、nuxdy、nuydx、nuydy ,它们有 166 个元素(代表 166 个地理点的梯度),每个元素都有 1000 个元素()。

M = []
for i in range(len(nuxdx[0])):      # len(nuxdx[0]) = 1000
    for j in range(len(nuxdx)):     # len(nuxdx) = 166
        Ma = [nuxdx[j][i],(nuxdy[j][i]+nuydx[j][i])/2, (nuydx[j][i]+nuxdy[j][i])/2, nuxdx[j][i]]
        M.append(Ma)

我试图在那里做的是为每个列表选择第一个子列表的第一个元素。目标是创建一个包含 1000 个元素的列表,其中每个元素是一个包含 166 个元素的列表,其中每个元素有 4 个数字。我想要的是一个包含 1000 M的列表(我们称之为 MM),所以:

len(MM) = 1000
len(MM[0]) = 166
len(MM[0][0]) = 4


标签: pythonlistfor-loop

解决方案


也许你可以试试这个:

MM = []
for i in range(len(nuxdx[0])):      # len(nuxdx[0]) = 1000
    M = []
    for j in range(len(nuxdx)):     # len(nuxdx) = 166
        Ma = [nuxdx[j][i],(nuxdy[j][i]+nuydx[j][i])/2, (nuydx[j][i]+nuxdy[j][i])/2, nuxdx[j][i]]
        M.append(Ma)
    MM.append(M)

推荐阅读