Я не уверен, что «иерархический» является правильным способом помечать эту проблему, но у меня есть серия списков целых чисел, которые я намерен хранить в массиве 2D numpy, который мне нужен держать отсортированный следующим образом:Сохранение иерархически отсортированных списков в python
array[0,:] = [1, 1, 1, 1, 2, 2, 2, 2, ...]
array[1,:] = [1, 1, 2, 2, 1, 1, 2, 2, ...]
array[2,:] = [1, 2, 1, 2, 1, 2, 1, 2, ...]
...
...
array[n,:] = [...]
таким образом, первый список отсортирован, то второй список разбит на подразделы элементов, которые все имеют одинаковое значение в первом списке, и эти подразделы сортируются, и так вниз по всем спискам.
Первоначально каждый список будет содержать только одно целое число, и я получу новые столбцы, которые мне нужно вставить в массив таким образом, чтобы он оставался отсортированным, как обсуждалось выше.
Цель хранения списков в этом порядке состоит в том, что если мне задан новый столбец целых чисел, мне нужно проверить, существует ли точная копия этого столбца в массиве или нет, насколько это возможно, и я предполагаю этот порядок поможет мне это сделать. Может быть, есть лучший способ сделать эту проверку, чем хранить списки, подобные этому, - если у вас есть мысли об этом, пожалуйста, укажите их!
Я предполагаю, что правильная позиция для нового столбца может быть найдена рядом бинарных поисков, но мои попытки были беспорядочными - любые мысли о том, чтобы делать это аккуратно и эффективно?
спасибо!
Вы должны опубликовать код, который вы пробовали, он поможет вам намного легче. – Destruktor
Вам нужны ваши номера в массиве numpy по какой-либо другой причине (например, для выполнения вычислений) или вы можете изменить, скажем, 'набор'' tuple''? – Blckknght
@Blckknght честно, я не думаю, что они должны быть в массиве numpy, это просто, что я довольно новичок в python, но я знаком с массивами numpy, так что это был мой переход. Если есть причины, я должен использовать 'set'' tuples 's, я бы хотел узнать о них, если у вас есть время! – CBowman