371 похожих чатов

Ребята! Есть тут питонисты? Либо я туплю, либо что-то не так Пишу код,

нужно из словаря вытащить подэлемент, вот, примерно, как структура выглядит:
[
{
'components': {
'ISO_3166-1_alpha-2': 'CA',
'ISO_3166-1_alpha-3': 'CAN',
'ISO_3166-2': [
'CA-BC'
],
'_category': 'education',
'_type': 'mosque',
'city': 'Vancouver',
'college': 'Vancouver Pituki College',
'continent': 'North America',
'country': 'Canada',
'country_code': 'ca',
'county': 'Metro Vancouver Regional District',
'house_number': '6123',
'postcode': 'V3J 4V5',
'road': 'West Langley street',
'state': 'British Columbia',
'state_code': 'BC',
'suburb': 'Mount Pleasant'
},
}
]
Я написал на Питончике код, который вот как раз и сделал этот словарь, и, вот теперь мне надо взят объект с ключем city, и его значение вписать в отдельную переменную строкой. Для этого я пишу такое:
city = json_data['components']['city']
Но он мне пишет, дескать:
city = json_data['components']['city']
~~~~~~~~~^^^^^^^^^^^^^^
KeyError: 'components'

И вот либо лыжи не едут, либо еще чего

9 ответов

10 просмотров

У вас же лист словарей [{},{},...,{}] Надо либо итерировать, либо извлечь нужный dict из списка

Iván-A. Автор вопроса

Та ж хрень

Iván-A. Автор вопроса
Iván A.
Та ж хрень

Ну не может не работать city = json_data[0]['components']['city']

Iván A.
Хм. Тут нужны подробности, плес

for item in list_of_dict: city = item["components"]["city"] Или city = json_data[0]["components"]["city"]

Iván-A. Автор вопроса
Dmytro S
for item in list_of_dict: city = item["componen...

После применения условия новая ошибка :D TypeError: string indices must be integers, not 'str'

Iván A.
После применения условия новая ошибка :D TypeError...

json_data = [ { "components": { "ISO_3166-1_alpha-2": "CA", "ISO_3166-1_alpha-3": "CAN", "ISO_3166-2": ["CA-BC"], "_category": "education", "_type": "mosque", "city": "Vancouver", "college": "Vancouver Pituki College", "continent": "North America", "country": "Canada", "country_code": "ca", "county": "Metro Vancouver Regional District", "house_number": "6123", "postcode": "V3J 4V5", "road": "West Langley street", "state": "British Columbia", "state_code": "BC", "suburb": "Mount Pleasant", }, } ] city = json_data[0]["components"]["city"] print(city)

Iván-A. Автор вопроса
Dmytro S
json_data = [ { "components": { ...

Хм, у меня так же, но с одинарными кавычками, и не работает

Похожие вопросы

Обсуждают сегодня

Кстати, на винского видела свежий пост, что очень сложно проходится граница Там устроили допрос на 3 часа 🙈 людям 1. У кого-то был опыт прохождения наземной границы от гон...
Yulia Tkacheva
10
Подскажите, есть ли какой то смысл ехать в начале января на Лас Пеньитас искать черепах? Там якобы есть организация, которая их выпускает/спасает Но по отзывам которые смогла...
Yulia Tkacheva
14
На ометепе без прав на байк вообще никак? Если арендовать скутер и спокойно в шлемах проехать по нескольким локациям. Читала две версии в интернетах: 5$ если поймают и другу...
Yulia Tkacheva
7
Привет! Подскажите, пожалуйста, пляж в Сан Хуан дель Сур для поплавать или для посерфить? Заранее спасибо!
Данич
10
всем привет, подскажите найти работу системным администратором или администратором 1с, реально вообще в польше без знания языка ? или может ли кто подсказать сайты где искать ...
Andrew
1
Лас Пеньитас это совсем деревня деревней? Где лучше поселиться на Новый год? Леон или Понелойя/ Лас Пеньитас (Без машины)
Yulia Tkacheva
7
Mombacho вообще открывают? Мне уже третий человек говорит, что вулкан был закрыт И я правильно понимаю, что никаких хайков на вулканы поблизости от Гранады нет?
Yulia Tkacheva
3
Евреи на своей исторической земле, откуда их выгнали, пока их не было приплыли цыгане арабчата, и обосновались на берегу, в 45 году евреи ппросились обратно домой , как допуст...
Ника 🏕
4
Привет всем! Подскажите, пожалуйста, что по ценам в Никарагуа? Сколько, например, стоит килограмм тортияс, килограмм бананов, десяток яиц, килограмм курицы? Спасибо.
Takhir
6
Вечер добрый! Скажите пожалуйста, в чем подвох.. Я думаю купить в Бразилии землю в сельской местности и построить на ней дом "с нуля". Чтоб дешевле Я нашел участок 30х50 метр...
Set Nova
214
Карта сайта