Im Moment habe ich eine for
Schleife, die eins nach dem anderen nach dem Schlüsselwert == einer Variablen sucht.Schleifen durch alle JSON-Kinder
Ich mache dies eins nach dem anderen, indem Sie die [0]
und [1]
Index auswählen, um die ersten beiden Kinder zu bekommen. Es könnte bis zu vier Kinder geben, gibt es eine effizientere Möglichkeit, dies zu tun als elif
?
# INITIALIZE NEW FILTERED DICTIONARY (RETAINING TOP LEVEL ITEMS)
newdata = OrderedDict({k:v for k,v in data.items() if k in ['stop_id', 'stop_name']})
newdata['mode'] = []
arrivalarray = []
# ITERATE CONDITIONALLY KEEPING NEEDED SECTIONS
for i in data['mode']:
if i['route'][0]['route_name'] == line:
if i['route'][0]['direction'][0]['direction_name'] == direction:
for s in i['route'][0]['direction'][0]['trip']:
arrivalarray.append(s['pre_away'])
elif i['route'][0]['direction'][1]['direction_name'] == direction:
for s in i['route'][0]['direction'][1]['trip']:
arrivalarray.append(s['pre_away'])