|
6 / 6 / 0
Регистрация: 02.06.2014
Сообщений: 65
|
|
словарь словарей30.03.2017, 00:58. Показов 15906. Ответов 30
Метки нет (Все метки)
Здравствуйте.
Я долго время пытался создать словарь словарей, перечитал различные методы предложенные тут на форуме, поэкспериментировал, но увы ни чего не получилось. Если коротко, в фале есть 4 стр, мне нужно сделать поиск в 3 стр(кроме 1), найти соответствие номера заявки к лаб номеру(ищу заявку прибавляю к ней 1 столбеец) и с мг/дм. должно получиться как-то так {ключ-лаб номер;итем-[ключ-элемент(название стр);итем-с,мг/дм3)]} прошу вашей помощи с кодом словарей, что-то я совсем запутался как их формировать P.S. с vba только знакомлюсь и пользуюсь модулем 2, который имеется в книге
0
|
|
| 30.03.2017, 00:58 | |
|
Ответы с готовыми решениями:
30
Словарь словарей плюс Коллекция массивов Словарь словарей или что-то подобное
|
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
|||||||||||
| 30.03.2017, 02:15 | |||||||||||
Сообщение было отмечено kronos_o_0 как решение
Решение
но можно и короче Добавлено через 1 минуту Как-то так
1
|
|||||||||||
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
||||||
| 30.03.2017, 08:43 | ||||||
Сообщение было отмечено kronos_o_0 как решение
Решение
Я так делал в другой задаче:
1
|
||||||
|
6 / 6 / 0
Регистрация: 02.06.2014
Сообщений: 65
|
|||||||
| 30.03.2017, 09:32 [ТС] | |||||||
|
Alex77755, я пытался сделать на подобие первого, но не совсем понял, там второй словарь вкладывают в коллекцию?
Hugo121, и это тоже пробовал он у меня всегда ругается на .item не понимаю в чем дело. Можете объяснить эти строчки?
0
|
|||||||
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
|
| 30.03.2017, 09:46 | |
|
У меня на итем не ругается, да и у Вас скорее всего ругается на выход за пределы массива.
В той строке в словарь словаря по ключу t добавляется ключ a(i, 2) & "|" & a(i, 3) & "|" & i
0
|
|
|
6 / 6 / 0
Регистрация: 02.06.2014
Сообщений: 65
|
||
| 30.03.2017, 09:50 [ТС] | ||
|
т.е. как просто 1 словарь, как проверить заполненность словаря-словарей
0
|
||
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
|
| 30.03.2017, 10:00 | |
|
0
|
|
|
6 / 6 / 0
Регистрация: 02.06.2014
Сообщений: 65
|
||
| 30.03.2017, 10:07 [ТС] | ||
|
Ищем данные 1 Ищем данные 2 Ищем данные 8 Закрываем файл литий Открываем файл аммоний Ищем данные 2 Ищем данные 1 Ищем данные 6 Закрываем файл аммоний Открываем файл калий Ищем данные 3 Ищем данные 2 Ищем данные 1 Закрываем файл калий Закрываем файл калий
0
|
||
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
|
| 30.03.2017, 10:13 | |
|
Ну так вот же - у лития в словаре 1, 2 и 8, у аммония 2, 1, 6 и т.д.
А все эти литии/аммонии в первичном словаре. Добавлено через 2 минуты Можно на паузе посмотреть заполнение словарей в окнах Locals или Watches (в последнем можно посмотреть не только ключи, но и итемы).
0
|
|
|
6 / 6 / 0
Регистрация: 02.06.2014
Сообщений: 65
|
||
| 30.03.2017, 10:13 [ТС] | ||
|
получается литий[1-знач,2-знач,8-знач] второй словарь не формируется, должно быть же три значения элемент-лаб№-значение аа, это я туплю, он же показывает только ключи
0
|
||
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
||||||
| 30.03.2017, 10:27 | ||||||
|
Да, в той реализации у всех внутренних значение 0, но можно изменить как угодно, а вывести можно если убрать апостроф в строке
0
|
||||||
|
6 / 6 / 0
Регистрация: 02.06.2014
Сообщений: 65
|
|
| 30.03.2017, 10:35 [ТС] | |
|
Hugo121, Спасибо большое, действительно все работало
а можете тогда подсказать, как мне теперь обращаться к итемам? что бы записывать их в ячейки или это по тому же принципу, как пишется в дебаг?
0
|
|
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
|
| 30.03.2017, 10:51 | |
|
Да, по тому же принципу можно, только выводите в ячейки.
Этот код у меня был как черновик рабочего макроса по перебору файлов, оставил как наработку для таких похожих задач.
0
|
|
|
6 / 6 / 0
Регистрация: 02.06.2014
Сообщений: 65
|
|
| 30.03.2017, 11:04 [ТС] | |
|
Hugo121, а можете сказать, я видел на одном сайте они выгружают словарь вот таким способом
Cells(1, 1).Resize(, .Count) = .Keys Cells(2, 1).Resize(, .Count) = .Items почему он не работает для данной ситуации?
0
|
|
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
|
| 30.03.2017, 11:10 | |
|
Так и тут можно так выгружать внутренние словари (для внешнего итемы - это не значения, а объекты, поэтому так не пойдёт).
Но мелкомягкие не гарантируют соответствия по позициям выгружаемых пар, поэтому я так уже давно не делаю. А Вы как хотите
0
|
|
|
6 / 6 / 0
Регистрация: 02.06.2014
Сообщений: 65
|
|
| 30.03.2017, 11:16 [ТС] | |
|
Hugo121, все большое спасибо
теперь надо сделать сортировку, надеюсь пойдет быстрее)
0
|
|
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
|
| 30.03.2017, 11:32 | |
|
Можно выгрузить ключи в массив, его процедурой отсортировать (есть уже готовые разные), затем перебором этого массива извлекать итемы и всё писать на лист, или куда угодно.
0
|
|
|
6 / 6 / 0
Регистрация: 02.06.2014
Сообщений: 65
|
|
| 30.03.2017, 11:44 [ТС] | |
|
Hugo121, а сортировать сам словарь это сложнее?
просто я думал он быстрее работает, чем массив, из-за этого делал словарь словарей, наверно тогда стоило сразу сделать массив
0
|
|
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
|
| 30.03.2017, 11:55 | |
|
Словарь несортируется, там нельзя поменять позицию элементу. Да и как выше я уже говорил - эта позиция не гарантируется.
Добавлено через 6 минут Представьте словарь как мешок с коробочками - как его сортировать? А вот найти там красную коробку с ништяками - можно.
0
|
|
|
6 / 6 / 0
Регистрация: 02.06.2014
Сообщений: 65
|
|
| 30.03.2017, 12:50 [ТС] | |
|
Hugo121, т.е. порядка в словаре нет? я думал они стоят в порядке их добавления
0
|
|
| 30.03.2017, 12:50 | |
|
Помогаю со студенческими работами здесь
20
Сортировка словаря словарей Получить количество словарей (коллекций) Словарь Из Массива в Словарь Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|