Есть ли в VBA структура, которая позволит использовать кортежи в качестве ключей, аналогичные Python? Я ищу для хранения большой матрицы значений в ассоциативном массиве, индексированном по именам ключей в обоих измерениях.Словарь VBA с составными ключами
EDIT:
Вот пример простой таблицы данных:
+--------+--------+--------+--------+--------+ | | City 1 | City 2 | City 3 | City 4 | +--------+--------+--------+--------+--------+ | City 1 | 0 | 7 | 8 | 6 | | City 2 | | 0 | 1 | 6 | | City 3 | | | 0 | 5 | | City 4 | | | | 0 | +--------+--------+--------+--------+--------+
Я хочу, чтобы иметь возможность хранить эти значения в ассоциативном массиве (словарь), так как они будут читать миллионы раз во время выполнения моего скрипта. Я хотел бы иметь ключи словаря, например, кортежи. Таким образом, я хотел бы создать словарь (мы будем называть его Distance), где ключи и значения:
(City 1, City 2) = 7
(City 1, City 3) = 8
(City 1, City 4) = 6
(City 2, City 3) = 1
(City 2, City 4) = 6
(City 3, City 4) = 5
Я бы доступ расстояние между городом 1 и 2 города с чем-то вроде этого:
Distance("City 1", "City 2")
AFAIK, нет. Каждый «элемент» для определенного «ключа» может быть массивом, но не самим ключом. Или, может быть, я неправильно понял ваш вопрос? – L42
Нет, вы этого не сделали. Мне действительно нужен только длинный или двойной элемент, но я хотел бы иметь составной ключ. Я знаю, что могу использовать двумерный массив и использовать целочисленные индексы, но я надеялся использовать строки. По сути, у меня есть гигантская матрица расстояний между городами, которые я хотел бы хранить в массивной структуре. Таким образом, я хотел бы получить доступ, скажем, «Расстояние» («Сиэтл», «Чикаго»). –
Я сейчас смущен. :) Вы можете это проиллюстрировать? Какие данные вам нужно перевести в словарь? Который идет в «Элемент» и идет как «Ключи». – L42