Прежде всего, быстрота / медленность довольно относительны, вы должны предоставить более подробную информацию о ваших ожиданиях (время, размер данных и т. Д. c ...). Но вы можете использовать понимание списка вместо l oop. Это быстрее.
Пример:
import json
jsonString = """[
{
"id": 1, "name": "a"
},
{
"id": 2, "name": "b"
}
]"""
nameList = [eachJson["name"] for eachJson in json.loads(jsonString)]
Время реализации:
>>> time python test.py
real 0m0.047s
user 0m0.013s
sys 0m0.016s
Время с пониманием списка:
>>> time python test.py
real 0m0.026s
user 0m0.014s
sys 0m0.012s
Как вы можете видеть выше, реальное время почти вдвое меньше с пониманием списка.
РЕДАКТИРОВАТЬ:
Или вы можете измерить время выполнения с помощью модуля time
Python.
Например:
import time
start = time.time()
print("hello")
end = time.time()
print(end - start)
Я измерил две реализации с модулем time
:
>>> python for_loop.py
6.103515625e-05
>>> python list_comprehension.py
4.60147857666e-05
ПРИМЕЧАНИЕ:
Вы можете найти более-более быстрые Json модули парсера, а затем встроенные в модуле json
. Вероятно, модуль yajl
- самый быстрый модуль. Подробности: https://github.com/rtyler/py-yajl/
yajl serialize: 0.180 deserialize: 0.182 total: 0.362
simplejson serialize: 0.840 deserialize: 0.490 total: 1.331
stdlib json serialize: 2.812 deserialize: 8.725 total: 11.537
Компаратор Python Json парсеров: https://github.com/rtyler/py-yajl/blob/master/compare.py
Или вы можете проверить модуль ultrajson
. Он также быстрее встроенного парсера: https://github.com/ultrajson/ultrajson