Итак, я пытаюсь создать функцию ha sh, которая помещает элемент k в двумерный массив на основе его мода. Для этого примера размер внешнего массива равен 4. Итак, чтобы начать таблицу ha sh, я хочу, чтобы это был двумерный массив с размером внешнего массива, равным 4. Тогда внутри будет 4 пустых массива. внешний массив. Вот так ...
n = 4
A = [[]]* n
То есть [ [], [], [], [] ]
Так что, когда я использую функцию ha sh вот так hash(A, 2)
, она должна вывести это [ [], [], [2], [] ]
на основе этого кода ниже ...
def hash(A, k):
idx = k % 4
for i in range(len(A)):
for j in range(len(A[i])):
if i == idx:
print(A[i][j])
A[i][j] = A[i][j].append(k)
Итак, проблема в том, что он выводит это [ [], [], [], [] ]
, а не это [ [], [], [2], [] ]
.
Я пытался ...
def hash(A, k):
idx = k % 4
A[idx].append(k)
но это только выводит [[2], [2], [2], [2]]
, что не то, что я хочу.
Как сделать так, чтобы моя функция ha sh выдала мне этот вывод [ [], [], [2], [] ]
?
(PS Я знаю, что гораздо лучше просто создать массив связанных списков. делать это для лучшего понимания таблицы ha sh, если они были реализованы с массивами, и для лучшего понимания 2D-массивов.)