#python_3x #json
Есть файл db.json Его содержание: [ { "user": "981" }, { "user": "859" }, { "user": "237" } ] Например нужно проверить есть ли "user": "859" в db.json Как делаю это я: import json def json_read(file_name): try: json_data = json.load(open(file_name, 'r', encoding="cp1251")) except: json_data = [] return json_data data = json_read("db.json") user_in_db = "859" for user in data: if user_in_db == user['user']: print("yes") else: print("No") Но я думаю в случае большого количества пользователей в db.json данный способ менее удобен. Есть ли какой то более удобный и быстрый способ сделать это ?
Ответы
Ответ 1
Решение в лоб: In [13]: db = [ ...: { ...: "user": "981" ...: }, ...: { ...: "user": "859" ...: }, ...: { ...: "user": "237" ...: } ...: ] In [14]: {'user': '859'} in db Out[14]: True Или: In [15]: any(x['user'] == '859' for x in db) Out[15]: TrueОтвет 2
data = json.load(open('db.json', 'r')) dictValueKey = dict([ [d.get(k),k] for k in d for d in data]) print("Yes" if dd.get("859")=="user" else "No") Yes print("Yes" if dd.get("111")=="user" else "No") No print("Yes" if dd.get("859")=="userNo" else "No") No
Комментариев нет:
Отправить комментарий