Home > Back-end >  how to convert 2 dimensional list into list of dictionary in python?
how to convert 2 dimensional list into list of dictionary in python?

Time:11-08

I have a 2 dimensional list of list but I would like the list inside the list to be dictionary

list1 = [["ab","cd"],["ef","gh"]]    
#code here,
print(output_list_of_dict)
#output should be ...
#[{"name": "ab", "phone":"cd"},{"name": "ef", "phone":"gh"}]

CodePudding user response:

You can do this directly with a comprehension and tuple unpacking:

list1 = [["ab","cd"],["ef","gh"]]
output_list_of_dict = [{"name": x, "phone": y} for x, y in list1]

CodePudding user response:

list1 = [["ab","cd"],["ef","gh"]]

res = []
for item in list1:
    res.append({"name": item[0], "phone": item[1]})
print(res)

If you want to use list comprehension for a more "pythonic" way:

list1 = [["ab","cd"],["ef","gh"]]

res = [{"name": item[0], "phone": item[1]} for item in list1]

print(res)

CodePudding user response:

Here is your solution:

list1 = [["ab","cd"],["ef","gh"]]    

output = []

for item in list1:
    dic = {}
    dic["name"] = item[0]
    dic["phone"] = item[1]

    output.append(dic)


print(output)

CodePudding user response:

dict and zip will also work

l = ["name", "phone"]
[dict(zip(l,i)) for i in list1]
  • Related