Создание вложенных списков к именованным элементам массива
каким образом в Python можно реализовать редактируемый массив имен элементов (например, дома жилого комплекса) и для элементов присваивать редактируемые списки (например, номера квартир).
Необходимо иметь возможность как добавлять/убавлять количество "домов" так и кол-во "квартир" по конкретному дому, чтобы была возможность обращаться по конкретному имени дома и номеру квартиры и вытягивать присвоенное значение конкретной "квартире", например задолженность.
Итого, какими средствами можно добавить дома "Республики,2" с квартирой "квартиру 12а", задолженность 100 у.е. и потом в любой момент обратиться к этой квартире и узнать задолженность.
Может несколько криво объяснил, но надеюсь смысл понят.
Что то типа такого:
houses = ['Республики, 1', 'Республики, 2', 'Республики, 3']
appartments['Республики, 1'] = ['кв1', 'кв2']
debts['Республики, 1'['кв1']] = 100
print(houses['Республики, 1'['кв1']])
, должно быть 100
Ответы (1 шт):
Я бы использовал в таком случае словари. Я составил пример, в котором показано взаимодействие с словарём домов.
Houses = {
"Первый дом":
{
"Квартира 1" : 100,
"Квартира 3" : 300
},
"Второй дом":
{
"Квартира 2" : 0
},
"Третий дом":
{
"Квартира 228" : 0,
"Квартира 6" : 0
}
}
print("В квартире 1 первого дома задолжность: " + str(Houses["Первый дом"]["Квартира 1"]))
print("В квартире 6 первого дома задолжность: " + str(Houses["Третий дом"]["Квартира 6"]))
print("Это нам не нужно.")
Houses["Третий дом"].pop("Квартира 6")
print("Хотя..." + "\n" + "В этом доме ещё не было задолжностей.")
Houses.pop("Третий дом")
print("Надо добавить новый дом.")
Houses["Сотый дом"] = {"Квартира 9" : 1024}
Вывод:
В квартире 1 первого дома задолжность: 100
В квартире 6 первого дома задолжность: 0
Это нам не нужно.
Хотя...
В этом доме ещё не было задолжностей.
Надо добавить новый дом.