1

这怎么能用python方式完成:)

results = [(1,2,3), (2,5,6), (7,8,9)] 
results_set = {}
for r in results:
    results_set[(r[0], r[1])] = r[2]
return results_set
4

2 回答 2

3

使用字典理解

results = [(1,2,3), (2,5,6), (7,8,9)] 

print({(x, y) : z for x, y, z in results})

输出

{(1, 2): 3, (2, 5): 6, (7, 8): 9}
于 2019-12-03T11:39:47.557 回答
1

您可以使用可迭代解包:

lst = [(1,2,3), (2,5,6), (7,8,9)]

{tuple(k): v for *k, v in lst}
# {(1, 2): 3, (2, 5): 6, (7, 8): 9}
于 2019-12-03T11:42:52.233 回答