Модификация альтернативных значений индекса в 2D-массиве - Python - PullRequest
0 голосов
/ 04 августа 2020

У меня есть список -> m = [13, 8, 2, 9, 8, 8, 8, 8]. Я пытаюсь вычислить result = m%4 и поместить его в 2D-массив в чередующихся позициях (обозначенных -1).

[[-1. 3. -1. 1.]
 [3. -1. 2. -1.]
 [-1. 1. -1. 0.]
 [3. -1. 1. -1.]]

Я попытался вычислить четность индексов (-1 занимает все индексы нечетных четность) и поместив туда результат, используя для l oop, но в итоге он просто заменяет все -1 результатом после каждого l oop.

Я хочу, чтобы он вычислял результат для первого list, а затем добавьте его в первую позицию «-1», а затем сделайте то же самое для следующего результата, но на этот раз добавив его к следующему «-1» и т. д.

Любые и все идеи приветствуются, спасибо

1 Ответ

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

Скажем, ваш 2D-список

a = [[-1,0],[0,-1]]

Можно выбрать все -1 и заменить элементы:

m_index = 0
for i in range(len(a)):
    for j in range(len(a[-1])):
        if (i+j)%2 == 0:
            a[i][j] = m[m_index]%4
            m_index += 1

Я считаю, что это не самый pythoni c способ выполнить задание, но это лучшее, что приходило мне в голову. Не забудьте убедиться, что len(m) совпадает с числом -1.

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