将不同大小的元组列表转换为字典

时间:2011-12-07 21:43:29

标签: python data-structures

我有一个元组列表,并希望将此列表转换为字典。但是,元组可以大于2并且大小不同。我希望每个元组的第一个元素是键,其余元素存储为值的数组。

l = [(1,'a','b'),(2,'c'),(3,'d','e','f')]

只是做d=dict(l)不起作用(并没有真正期望它)。我想在d = dict([(k,v) for k,v in arr])的行中使用列表理解,但允许任意大小的v。

2 个答案:

答案 0 :(得分:8)

d = dict( (v[0], v[1:]) for v in arr )

答案 1 :(得分:7)

Winston Ewert拥有最好(最便携)的答案。作为替代方案 - 如果您有最新版本的Python - 您可以使用字典理解:

d = { t[0]:t[1:] for t in arr }