20
Апр
2018

Как обратиться к элементам списка со вложенным словарем для вк апи делаю стэндалон приложение?

К примеру имею такой вывод в json, хочу отфильтровать вывод по key=country, чтобы по стране фильтровал.Вывод о 3 пользователях группы вк, хотел вывести только тех, кто в Махачкале.

response = requests.get("https://api.vk.com/method/groups.getMembers",{
            'group_id':group_id,
            'count':1000,
            'offset':0,
            'fields':fields,
            'access_token':Token,
            'v':5.73}).json()

ids = response['response']['items']
for item in ids:
    print(item['id'])

По key 'id' выдает, а по стране ошибка: KeyError

Traceback (most recent call last)
<ipython-input-79-1e39321e566f> in <module>()
     52 #print(ids)
     53 for item in ids:
---> 54     print(item['country'])

KeyError: 'country'

Пробовал этот вариант:

for item in ids:
    print(item['country']['title'])

Тоже нет:

Traceback (most recent call last)
<ipython-input-80-64d989cdca15> in <module>()
     52 #print(ids)
     53 for item in ids:
---> 54     print(item['country']['title'])

KeyError: 'country'

Я вывел ids перед циклом, поле страна есть с title:

[{'id': 945747, 'first_name': 'Don', 'last_name': 'Chucha', 'sex': 2, 'bdate': '29.5.1984', 'city': {'id': 85, 'title': 'Махачкала'}, 'country': {'id': 1, 'title': 'Россия'}, 'photo_200_orig': 'https://pp.userapi.com/c621924/v621924747/d7af/80bQh4EYx8g.jpg', 'online': 0, 'home_phone': 'нет', 'common_count': 0, 'university': 0, 'university_name': '', 'faculty': 0, 'faculty_name': '', 'graduation': 0, 'relation': 0, 'universities': [], 'schools': [{'id': '42458', 'country': 1, 'city': 85, 'name': 'Школа №28', 'class': ''}, {'id': '50041', 'country': 1, 'city': 85, 'name': 'Школа №30', 'class': ''}], 'relatives': [{'id': 32707721, 'type': 'sibling'}]}]

А это полный json:

запрос {'response': {'count': 727, 'items': [{'id': 945747, 'first_name': 'Don', 'last_name': 'Chucha', 'sex': 2, 'bdate': '29.5.1984', 'city': {'id': 85, 'title': 'Махачкала'}, 'country': {'id': 1, 'title': 'Россия'}}]}}

Проблема в том,что цикл выводит страну первого id, для остальных он пишет KeyError

Help friends!)

Источник: https://ru.stackoverflow.com/questions/816950/%D0%9A%D0%B0%D0%BA-%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D0%B8%D1%82%D1%8C%D1%81%D1%8F-%D0%BA-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D0%BC-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0-%D1%81%D0%BE-%D0%B2%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%BC-%D1%81%D0%BB%D0%BE%D0%B2%D0%B0%D1%80%D0%B5%D0%BC-%D0%B4%D0%BB%D1%8F-%D0%B2%D0%BA-%D0%B0%D0%BF%D0%B8-%D0%B4%D0%B5%D0%BB%D0%B0%D1%8E-%D1%81%D1%82%D1%8D%D0%BD%D0%B4%D0%B0%D0%BB

Тебе может это понравится...

Добавить комментарий