У меня есть следующий список:
mylist = [
['OF', 'O'],
['ODH', 'O'],
['1937066911', 'NUMBER'],
['FLOYD', 'PERSON'],
['WESLEY', 'PERSON'],
['MCGRAW', 'PERSON'],
['04', 'NUMBER'],
['RUTH', 'PERSON'],
['MAE', 'PERSON'],
['MCGRAW', 'PERSON']
]
Это желаемый вывод
desired_output = [
{'O':'OF', 'ODH'},
{'NUMBER':'1937066911'},
{'PERSON':'FLOYD','WESLEY','MCGRAW'},
{'NUMBER':'04'},
{'PERSON':'RUTH','MAE','MCGRAW'}
]
Это то, что я пробовал:
import json
from collections import defaultdict
import itertools
new_dict = defaultdict(list)
with open('A.json') as jsonfile:
file_data = json.load(jsonfile)
for d in range(len(file_data)):
try:
if file_data[d][1] in file_data[d+1]:
new_dict[file_data[d][1]].append(file_data[0])
except:
pass
print(new_dict)
ПРИМЕЧАНИЕ A.json имеет список, как показано выше