The Flat Dictionary The Flat Dictionary
Simple
ZH-HANS Ukrainian RU PT PT-BR JA HU FR EN

Ніколі дуже подобається класифікувати усе, що потрапило йому на очі. Якось на його день народження Стефан подарував йому пристрій для маркування, та згодом роботи витратили багато часу відшкрябуючи наклейки з усіх поверхонь на кораблі. З того часу він класифікуе реагенти у своїй лабораторії книги в бібліотеці та нотатки на дошці. Але потім він дізнався про словники, в Python та зробив класифікацію усіх можливих конфігурацій для дронів Софії. Тепер файли організовані у структуру із великою кільлістью вкладень, але дронам Софії це не довподоби. Давайте спробуємо допомогти Софії зробити ці словники більш простими.

Словники у Python - це дуже зручні типи данних для зберігання, та обробки будь яких конфігурацій. Вони дозволяють зберігати данні за допомогою ключів для створення структури з багатьма вкладеннями. Маємо словник, в якому ключами є рядки, а значення по ключах являє собою рядки або словники. ...

{
    "name": {
        "first": "One",
        "last": "Drone"
    },
    "job": "scout",
    "recent": {},
    "additional": {
        "place": {
            "zone": "1",
            "cell": "2"}
    }
}

Результат повинен бути:

{"name/first": "One",           #one parent
 "name/last": "Drone",
 "job": "scout",                #root key
 "recent": "",                  #empty dict
 "additional/place/zone": "1",  #third level
 "additional/place/cell": "2"}

Оригінальний словник із вкладеними словниками як тип (dict).

Плоский словник як тип (dict).

flatten({"key": "value"}) == {"key": "value"}
flatten({"key": {"deeper": {"more": {"enough": "value"}}}}) == {"key/deeper/more/enough": "value"}
flatten({"empty": {}}) == {"empty": ""}
    

Ця концепція може бути корисною, якщо вам потрібно розібрати конфігураційні файли, або для систем предків - нащадків де потрібно спростити структуру, чи для будь яких файлових структур. Ви можете з легкістю модифікувати цю ідею для ваших власних потреб. Крім того, це корисний навик для читання коду та пошуку дефектів.


в словнику - не порожні рядки.
в словнику рядки які складаються з інших словників.
root_dictionary != {}

You should be an authorized user in order to see the full description and start solving this mission.