リスト内の時間値を分離します。
In [1]: %cpaste
Pasting code; enter '--' alone on the line to stop or use Ctrl-D.
:data = {
: "data": [
: {
: "time": 1483304400,
: },
: {
: "time": 1483308000,
: },
: {
: "time": 1483311600,
: },
: {
: "time": 1483315200,
: },
: {
: "time": 1483318800,
: }
: ]
:}
:--
In [2]: data["data"]
Out[2]:
[{'time': 1483304400},
{'time': 1483308000},
{'time': 1483311600},
{'time': 1483315200},
{'time': 1483318800}]
In [3]: times = [j["time"] for j in data["data"]]
In [4]: times
Out[4]: [1483304400, 1483308000, 1483311600, 1483315200, 1483318800]
次に、リスト項目とクエリの絶対差のリストを生成します。
In [3]: times = [j["time"] for j in data["data"]]
In [4]: times
Out[4]: [1483304400, 1483308000, 1483311600, 1483315200, 1483318800]
In [5]: diff = [abs(j-1483311700) for j in times]
In [6]: diff
Out[6]: [7300, 3700, 100, 3500, 7100]
最後に、最も低い差のインデックスを見つけます。 bisect.bisect(a, x, lo=0, hi=len(a))
関数を用い
In [7]: min(diff)
Out[7]: 100
In [8]: diff.index(100)
Out[8]: 2
このあなたはjsonのように見え、demjsonのようなライブラリを使い、この命令を使ってデコードし、 'demjson.decode(入力が入っている文字列)'とし、それを配列のように見て、forループを使い、計算する期待数に最も近い数字 –