Как достать элемент из массива по определенному ключу, минуя один ключ

zaivanza

Новичок
Пользователь
Дек 28, 2021
28
1
3
Мне нужно взять значение ключа, пропуская вышестоящий ключ
Вот массив mas:
Код:
[
    {
        "ok": 100,
        "data": {
            "dff1": {
                "key1": "fdpfpd",
                "key2": "CRACK",

            },
            "11e1fs": {
                "key1": "sdada",
                "key2": "DATA",

            },
            "132gds": {
                "key1": "sdfs",
                "key2": "RAZOR"

            }
        }
    }
]

Как вывести в терминал значения ключа key2, если вышестоящие ключи (не знаю как они называются, поправьте пожалуйста) "dff1" "11e1fs" "132gds" мне неизвестны (их больше 1000)

Желаемый вывод в терминал: CRACK, DATA, RAZOR

Вот так выглядит код, если вышестоящий ключ известен:
Код:
for elem in mas:
    t = elem['data']['dff1']['key2']
    print(t)
# CRACK
 

floordiv

Пух
Команда форума
Модератор
Авг 14, 2020
21
7
3
выдает ошибку:

Код:
for elem in mas['data'].values():
TypeError: list indices must be integers or slices, not str
mas у тебя список. Сделай mas[0]["data"]
 
  • Мне нравится
Реакции: zaivanza

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
Код:
if ind % 2 == 0: print(val)  # выводим чётные элементы массива, начало массива с 0!, значение элемента массива
if ind % 2 != 0: print(val)  # выводим НЕчётные элементы массива, начало массива с 0!, значение элемента массива
# или предварительно
del массив[1::2]  # удаляем все чётные элементы массива, то есть через ОДИН в массиве
del массив[0::2]  # удаляем все НЕчётные элементы массива, то есть через ОДИН в массиве
переделайте под словарь
 

floordiv

Пух
Команда форума
Модератор
Авг 14, 2020
21
7
3
Достаточно просто пройтись по всем элементам у поля "data", и у каждого взять нужный тебе ключ, т.е. "key2"

Python:
for some_shit in your_dict['data'].values():
    print(some_shit['key2'])
 

zaivanza

Новичок
Пользователь
Дек 28, 2021
28
1
3
Достаточно просто пройтись по всем элементам у поля "data", и у каждого взять нужный тебе ключ, т.е. "key2"

Python:
for some_shit in your_dict['data'].values():
    print(some_shit['key2'])
спасибо, помогло, только перед ['data'] нужно еще [0]
 

Форум IT Специалистов