In python2.7, I have one list
['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q']
and I need to transform into a dict like
{
'A':['B','C'],
'B':['D','E'],
'C':['F','G'],
'D':['H','I'],
'E':['J','K'],
'F':['L','M'],
'G':['N','O'],
'H':['P','Q'],
'I':[],
'J':[],
'K':[],
'L':[],
'M':[],
'N':[],
'O':[],
'P':[],
'Q':[]
}
With zip()
and itertools.izip_longest()
you can do that like:
import itertools as it
in_data = list('ABCDEFGHIJKLMNOPQ')
out_data = {k: list(v) if v else [] for k, v in
it.izip_longest(in_data, zip(in_data[1::2], in_data[2::2]))}
import json
print(json.dumps(out_data, indent=2))
{
"A": [
"B",
"C"
],
"C": [
"F",
"G"
],
"B": [
"D",
"E"
],
"E": [
"J",
"K"
],
"D": [
"H",
"I"
],
"G": [
"N",
"O"
],
"F": [
"L",
"M"
],
"I": [],
"H": [
"P",
"Q"
],
"K": [],
"J": [],
"M": [],
"L": [],
"O": [],
"N": [],
"Q": [],
"P": []
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With