Как мне узнать гендерное значение?

Ключ datetime может быть другим, поэтому я хочу иметь к нему доступ независимо от имени ключа.

{'data': {'2021-01-20 01:14:47 UTC': {'gender': 2, 'goodHost': 0, }}}
-1
aquatic7 20 Янв 2021 в 23:08

2 ответа

Лучший ответ

Если вы можете гарантировать, что когда-либо будет только один ключ datetime, вы можете сделать что-то вроде:

data = my_dict['data']
item = list(data.values())[0]
print(item['gender'])

Обычно my_dict['data'].values() возвращает все значения во вложенном словаре, не обращая внимания на ключ. Если вы знаете, что такой элемент будет только один, вы можете перейти к нему напрямую.

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

for value in my_dict["data"].values():
    try:
        print(value["gender"])
    except KeyError:
        print("Didn't have a gender key so I'm skipping it.")
3
Kirk Strauser 20 Янв 2021 в 20:33

Просто возьмите первое = единственное значение.

>>> next(iter(d['data'].values()))['gender']
2
1
superb rain 20 Янв 2021 в 20:18