Я пишу некоторый код (пока просто для удовольствия) на Python, который будет хранить некоторые данные о каждой точке в трехмерном пространстве. В основном мне нужен трехмерный матричный объект, в котором хранятся произвольные объекты, которые позволят мне делать некоторые расширенные выборки, например:
- Получите точку, где x=1,y=2,z=3.
- Получение всех точек, где y=2.
- Получение всех точек в пределах 3 единиц позиции x=1,y=2,z=3.
- Получение всех точек, где point.getType() == "Foo"
Во всем вышеперечисленном мне нужно было бы получить какой-то вывод, который дал бы мне исходное положение в пространстве и данные, хранящиеся в этой точке.
По-видимому, numpy может делать то, что я хочу, но кажется, что он очень оптимизирован для научных вычислений, и до сих пор ускользал от меня вопрос о том, как получить данные, как я хочу выше.
Есть ли лучшая альтернатива, или я должен вернуться к тому, чтобы биться головой о стену numpy? :)
РЕДАКТИРОВАТЬ: еще немного информации, первые три ответа заставили меня понять, что я должен включить: я не беспокоюсь о производительности, это просто доказательство концепции, где я бы предпочел чистый код хорошей производительности. У меня также будут данные для каждой точки в заданном трехмерном пространстве, поэтому я думаю, что запасная матрица — это плохо?