Получить все элементы словаря n-го уровняPython

Программы на Python
Ответить
Anonymous
 Получить все элементы словаря n-го уровня

Сообщение Anonymous »

Я пытаюсь создать список всех элементов словаря n-го уровня.

Я бы предпочел, чтобы решение было общим для n-го элемента, хотя в моем примере ниже перечислены два уровня.

Если вы представляете проблему как на изображении ниже:

Изображение


Я пытаюсь получить список всех значений от 16 до 31.

Например,
у меня есть словарь i случайно сгенерированных домов с j кранами, и мне нужно выяснить, включен ли какой-либо из кранов.

Есть ли способ создать список всех выходов касания, чтобы я мог просто выполнять поиск, используя:

for i in list_of_tap_outputs:
new_list+=lambda x:x[2]


или что-то еще, или мне придется смириться с использованием списков. Я также хотел бы иметь возможность отслеживать, какой кран был включен во всей системе. Если бы я использовал списки, мне пришлось бы запоминать, какому крану был назначен какой индекс в списке, а я не хочу этого делать.

data={'House'+str(i): {"Tap"+str(j): 'on' if random.randint(1,2)%2==1 else 'off'
for j in range(4)} for i in range(3)}

print data


с таким выводом:

{'House2': {'Tap1': 'off', 'Tap0': 'on', 'Tap3': 'off', 'Tap2': 'off'},
'House0': {'Tap1': 'off', 'Tap0': 'on', 'Tap3': 'on', 'Tap2': 'on'},
'House1': {'Tap1': 'off', 'Tap0': 'on', 'Tap3': 'off', 'Tap2': 'on'}}


Подробнее здесь: https://stackoverflow.com/questions/455 ... dictionary
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»