如何将元组列表转换为Python中的字典字典?

Mal*_*lgi 5 python dictionary tuples list

我有一个元组列表,如:

[(1, 'a', 22), (2, 'b', 56), (1, 'b', 34), (2, 'c', 78), (3, 'd', 47)]
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为:

{1: {'a': 22, 'b': 34}, 2: {'b': 56, 'c': 78}, 3: {'d': 47}}
Run Code Online (Sandbox Code Playgroud)

这可能在Python中吗?谢谢!

sch*_*ggl 9

使用defaultdict:

from collections import defaultdict

l = [(1, 'a', 22), (2, 'b', 56), (1, 'b', 34), (2, 'c', 78), (3, 'd', 47)]

d = defaultdict(dict)
for x, y, z in l:
    d[x][y] = z
Run Code Online (Sandbox Code Playgroud)


uri*_*rim 5

setdefault 是你的朋友:

d = {}
for t in l:
    d.setdefault(t[0],{})[t[1]]=t[2]
Run Code Online (Sandbox Code Playgroud)