Борьба с добавлением 3D-массива - PullRequest
1 голос
/ 04 августа 2020

Я хочу объединить несколько 2D-массивов в 3D, но все время возникают проблемы. Это мой код:

AMv = 2
Bz = [[1,2,3,4,5,6,7,9,8,7,6,5,4,3],[1,8,2,3,8,4,7,0,9,8],[3,6,2,3,4,5,7,8,8,7,8,7,8]]
PosVh = [2,5,9]

P = ['1', '2', '3']
MG = []
PMG = [][]

for a in range(0, len(P)):
 
    for b in range(0, AMv):

        MG.append(Bz[a][PosVh[b]:PosVh[b+1]])

        # print(MG)
    PMG[int(P[a])-1].append(MG)
    # print(MG)

print(MG)

У меня есть массив данных «Bz», некоторые данные отсортированы и перегруппированы в соответствии с «PosVh». Данные правильно отсортированы в новый массив MG. Сейчас я хочу, чтобы для каждого числа в P была новая строка в PMG с данными MG. Есть идеи, как мне этого добиться?

1 Ответ

0 голосов
/ 05 августа 2020

Тем временем я нашел решение, почти то, что я хочу:

AMv = 2
Bz = [[1,2,3,4,5,6,7,9,8,7,6,5,4,3],[1,8,2,3,8,4,7,0,9,8],    [3,6,2,3,4,5,7,8,8,7,8,7,8]]
PosVh = [2,5,9]

P = ['2', '1', '4']
MG = []
PMG = []

for a in range(0, len(P)):
     MG.append([])
     for b in range(0, AMv):

         MG[a].append(Bz[a][PosVh[b]:PosVh[b+1]])

print(MG)

Список в порядке. Я просто хочу переставить его так:

MG[int(P[a])-1].append(Bz[a][PosVh[b]:PosVh[b+1]])

Но если я это сделаю, массив окажется массивом [3] [0]. Как такое может быть?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...