지금은 for
루프를 사용하여 키 값 == 변수인지 여부를 하나씩 살펴 봅니다.모든 JSON 하위를 반복합니다.
첫 번째 두 자녀를 얻으려면 [0]
및 [1]
색인을 선택하여 하나씩이 작업을 수행합니다. 최대 4 명의 자녀가있을 수 있습니다. 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'])