Работа со словарями
Как создать словарь
Создание словаря - объявление словаря
имя_словаря = {}
Как обнулить словарь
Обнуление - это ничто иное как объявление пустого словаря
имя_словаря = {}
Как получить значение словаря по ключу
имя[ключ] - получение элемента словаря по ключу
Пример работы со словарем:
в данном конкретном случае идет обращение по ключу со значением a. То есть для того, чтобы получить значение словаря по конкретному ключу прописываем команду в формате: имя_словаря["ключ"]

Ответ:

На экран будет выведено

dicts = {"a": "11", "d": "privet"}
/*получение из словаря*/
aa = dicts["a"]Как получить список ключей из словаря
dict_keys_to_array(data) - для получения списка ключей словаря data
Пример: Получим список всех ключей словаря

Ответ:
v={"A1":"апельсин","A2":"абрикос","A3":"мандарин","A4":"яблоко","A5":"груша","A6":"киви","A7":"банан","A8":"персик"} key= dict_keys_to_array(v)
Как получить список значений из словаря
dict_values_to_array(data) - для получения списка значений из словаря data
Пример:

Ответ:

v={"A1":"апельсин","A2":"абрикос","A3":"мандарин","A4":"яблоко","A5":"груша","A6":"киви","A7":"банан","A8":"персик"} value= dict_values_to_array(v)
Как получить значения из списка словарей по указанному ключу
get_values_by_key(data, key) - позволяет получить значения из списка словарей по указанному ключу. Возвращает список значений.
Пример: Получим значения из списка словарей по ключу
Ответ:
data = [{"Товар": "Товар№1", "Цена": 1500}, {"Товар": "Товар№2", "Цена": 6000}]
key = "Товар"
result = get_values_by_key(data, key)Как заменить значение в словаре
имя['ключ'] = значение - замена значения элемента словаря по заданному ключу. Если указан несуществующий ключ, то произойдет добавление нового элемента словаря
Пример:
Для замены значения конкретного элемента массива пишем обращение к нему имя_массива[индекс] = значение или имя_словаря[ключ] = значение

Ответ:

dicts = {"a": "11", "d": "privet"}
/*Заменить в словаре*/
dicts['d'] = AAAAA
/*Добавить в словарь dicts['key'] = 'VVVVVVVVVVV'*/
dicts['m']=new
/*Заменить в словаре на число*/
dicts['a'] = int('555')Как добавить значение в словарь
имя_словаря['ключ'] = 'значение' - добавление нового значения в словарь.
Если ключ ранее не существовал, то произойдет добавление пары ключ: значение, иначе - замена значения для указанного ключа
Пример:

Результат:

/*Добавить в словарь dicts['key'] = 'VVVVVVVVVVV'*/
dicts['m']=newКак проверить наличие ключа в словаре
exist_key(mass, key) - для проверки наличия ключа в словаре.
Параметры:
mass - словарь
key - ключ для поиска.
Возвращаемое значение True или False, в зависимости найден ключ или нет.
Пример использования:

s = {"1": 123, "2": 234, "q": {"w": "e"}}
q = if(exist_key(s, 'q'), 'Найдено', 'Еще строка')Как проверить позицию ключа в словаре
key_index(mass, key) - для проверки позиции ключа в словаре.
Параметры: mass - словарь key - ключ для поиска.
Пример использования:

Результат:

s = {"1": 123, "2": 234, "q": {"w": "e"}}
q = key_index(s, 'q')Как узнать количество элементов в словаре
arr_len(mass) - для определения длины словаря.
Параметр: mass - словарь
Результат: Возвращает число - длину словаря.
Будьте внимательны при передаче параметра в функцию! Если вызвать функцию без параметров, вернет 0, если в параметрах не массив и не словарь, вернет -1.
Пример использования

Ответ:

/словарь/ радуга = {"каждый":"красный","охотник":"оранжевый","желает":"желтый","знать":"зеленый","где":["бирюзовый","светло-голубой", "темно-голубой"],"сидит":"синий","фазан":"фиолетовый"}
dlina=arr_len(радуга)
Как удалить элемент из словаря
По индексу или ключу
del(mass, key) - для удаления элемента из массива по индексу или из словаря по ключу. Принимает два параметра: массив/словарь, индекс/ключ, по которому будет удаление. Возвращает измененный словарь или массив, исходную строку не меняет.
Пример со словарем:


Пример с массивом:


Если в качестве значений массива или словаря используются числа, то для удаления элемента пользуйтесь функцией remove()
Как перевести словарь в человекочитаемый текст
humanize(dict, delimiter, from_i, to_i)
Параметры:
dict - имя словаря delimiter - разделитель между строками from_i - индекс элемента, с которого начинать вывод (нумерация с 0) to_i - индекс элемента, до которого выводить данные (не включительно)
Разберем на примере:

dict = {"[id146467928|Дмитрий]":"6","[id145255525|Матвей]":"20"}
r = humanize(dict, ': ')Для сортировки словарей
sort() | sort_by_value()
Сортировка словаря
sort(dict, b) - сортирует массив по значению, а словарь по ключу
Параметры:
! dict- словарь
b - направление сортировки (False - по возрастанию (по умолчанию), True - по убыванию)
Сортировка словаря по значению
sort_by_value(dict, b) - сортировка словаря по значениям.
Параметры:
! dict- словарь
b - направление сортировки (False - по возрастанию (по умолчанию), True - по убыванию)
Пример сортировки массива по убыванию и словаря по возрастанию:


Сортируем словарь по значениям:


Перевод словаря в кнопки
tools_make_button_str_checker() | tools_check_user_input()
Перевод массива/словаря в кнопки
tools_make_button_str_checker(values_list, key, in_line, button_type)
Параметры:
! values_list - массив строк или словарей, данные которого будут использоваться для получения клавиатуры или нумерованного списка key - ключ, по которому будет производиться выборка из массива словарей values_list in_line - количество кнопок в строке (по умолчанию равен 1) button_type - тип кнопок (по умолчанию reply-клавиатура). Возможные значения: 0 - reply-клавиатура, 1 - inline-клавиатура ( кнопки в тексте)
Результат исполнения функции - словарь вида:
{"numbered_list":"1. Футболки\n2. Шорты\n3. Носки\n4. Кепки\n","buttons":[{"type":"inline","text":"Футболки","line":0,"index_in_line":0},{"type":"inline","text":"Шорты","line":0,"index_in_line":1},{"type":"inline","text":"Носки","line":1,"index_in_line":0},{"type":"inline","text":"Кепки","line":1,"index_in_line":1}],"checker":"Футболки;1;Шорты;2;Носки;3;Кепки;4;"}
Значения словаря в дальнейшем можно подставлять в поля в конструкторе:


Получение значения словаря на основе выбора клиента
tools_check_user_input(values_list, user_input, key, return_key)
Параметры:
! values_list - массив строк или словарей, данные которого будут использоваться для получения клавиатуры или нумерованного списка Пример словаря: [{"text":"Футболки","price":100},{"text":"Шорты","price":150},{"text":"Носки","price":20},{"text":"Кепки","price":50}] ! user_input - значение введенное пользователем из числа значений, полученных из словаря values_list Пример значения: Кепки key - ключ, по которому будет производиться выборка из массива словарей values_list Пример ключа: text return_key - возвращаемое значение для заданного ключа key из словаря values_list Пример возвращаемого значения: price
Разберем использование функции на примере реализации корзины товаров:
1.Задаем массив и разбираем его на нумерованный список, кнопки и список возможных значений (для мессенджеров без кнопок) при помощи функции tools_make_button_str_checker()


2.Используем полученные значения buttons, numbered_list для организации возможности выбора товара:

3.А список возможных значений checker используем для проверки вводимых клиентом данных:

4.Осталось вывести клиенту цену выбранного товара. Это удобно сделать при помощи функции tools_check_user_input()

list = [{"text":"Футболки","price":100},{"text":"Шорты","price":150},{"text":"Носки","price":20},{"text":"Кепки","price":50}]
res = tools_make_button_str_checker(list, "text", "2", "1")
numbered_list = res['numbered_list']
buttons = res['buttons']
checker = res['checker']
res_check = tools_check_user_input(list, user_input, 'text', 'price')Last updated
Was this helpful?