Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import json
- import timeit
- import functools
- import locale
- # Подготавливаю словаь и читаю сырые данные из файла
- with open("data.json", "r") as read_file:
- jsons = json.load(read_file)
- # Мой вариант сортировки
- def sorted_json_data(jsons):
- json_list = []
- # Определяю то, какие linkeddata_id есть в сырых данных
- for json in jsons:
- if json_list != json['linkeddata_id']:
- json_list.append(json['linkeddata_id'])
- # Убираю дубликаты
- json_list = set(json_list)
- # Формирую готовый список
- data = []
- for a, json_items in enumerate(json_list):
- data.append([])
- for i, json in enumerate(jsons):
- if json['linkeddata_id'] == json_items:
- data[a].append(
- {'linkeddata_id': json['linkeddata_id']})
- return data
- # Твой вариант сортировки
- def old_sorted_json_data(jsons):
- data = [[] for imes in jsons]
- for i, l in enumerate(jsons):
- for r, m in enumerate(l.many.all()):
- data[i].append({
- 'linked_data_id': l['linkeddata_id'],
- })
- return data
- # Подсчитываем время выполнения сортировки
- measure = timeit.Timer(functools.partial(sorted_json_data, jsons))
- measure_old = timeit.Timer(functools.partial(old_sorted_json_data, jsons))
- print (locale.format_string('sorted_json_data: %f', measure.timeit(100)))
- print (locale.format_string('old_sorted_json_data: %f', measure.timeit(100)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement