Дмитрий, какой json, дядя? Это словарь, который под капотом превращается в form-data или x-www-form-urlencoded. Чтобы отправить application/json, нужно указать requests.post(..., json=<какой-то словарь>)
Сергей Горностаев, хорошая, если в except Exception блоке отправлять стектрейс куда-нибудь. В сентри или на почту, например. Но это обычно делается ровно в одном месте в программе.
zlodiak, в списке питона под капотом массив указателей на PyObject. Массив — это значит, что элементы находятся последовательно в ОЗУ один за другим, без пробелов. Хэш-таблица — это тоже массив, но разреженный. Элементы массива (если они не пусты) — структуры, где есть ключ и указатель на PyObject. В целом, наверное, можно сказать, что они похожи. В конечном этоге из ключа генерируется индекс в массиве (хэш-таблице).
whoareyoutofuckinglecture, любой тип данных — это структура. Даже твой int — это структура. И очень сложная для понимания, потому что это далеко не int в каком-нибудь Си. Структура — это больше про способ хранения и внутренности, тип — про интерфейс. Но обычно они взаимозаменяемы.
И почему бы, например, тип не мог бы хранить другие типы? Твоё разделение называется "примитивные типы" и "коллекции". И всё это — типы данных.