Форум сайта python.su
Бодрого времени суток
Помогите разобраться
есть код .json
{
“features”: [{
“geometry”: {
“coordinates”: ,
“type”: “Point”
},
“properties”: {
“ReleaseNumber”: 2,
“Attributes”: {
“global_id”: 20660594,
“IsNetObject”: “нет”,
“SeatsCount”: 30,
“SocialPrivileges”: “нет”
}
},
“type”: “Feature”
}, {
“geometry”: {
“coordinates”: ,
“type”: “Point”
},
“properties”: {
“ReleaseNumber”: 2,
“Attributes”: {
“global_id”: 20660628,
“IsNetObject”: “нет”,
“SeatsCount”: 50,
“SocialPrivileges”: “нет”
}
},
“type”: “Feature”
}
}
и тд
как мне сделать скрипт который сравнивает число из ключа “SeatsCount” и у кого число больше - выводит “global_id”?
Пока все что я придумал это декодировать
import json
with open('brs.json', ‘r’, encoding='utf-8') as fh:
data = json.load(fh)
Офлайн
Вы правильно начали.
Как видно из куска JSON имеется список неких Feature. Что бы решить вашу задачу можем прибегнуть к такой тактике 1) собираем список из параметров SeatsCount и global_id 2)сортируем полученный список по SeatsCount 3) берем крайний элемент.
Для реализации пункта 1) можно прибегнуть как к list comprehension так и обычным циклом for 2) встроенная функция sorted либо метод списка sort 3) в зависимости от направления сортировки взять либо элемент с индексом 0 либо -1 (т.е. последний элемент)
Сами попробуете реализовать?
Отредактировано JOHN_16 (Июль 10, 2018 11:12:53)
Офлайн
JOHN_16
Таких элементов с глобал ид и SeatsCount в коде много, мне на ум тольк пришло сделать
словарь, где (ИД = SeatsCount) вот только не могу понять как код строить, что бы словарь брал эти данные.
Или так лучше не делать и собрать список?
Офлайн
код
Прикреплённый файлы:
Снимок экрана 2018-07-10 в 21.09.23.png (80,8 KБ)
Офлайн