2011-12-07 41 views
4

我有一個元組列表,並希望將此列表轉換爲字典。但是,元組可以大於2並且大小不一樣。我希望每個元組的第一個元素是關鍵字,剩下的要存儲爲值的數組。將不同大小的元組列表轉換爲字典

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

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

回答

7

溫斯頓埃維特擁有最好的(最便攜的)答案。作爲替代方案 - 如果您有最新版本的Python,則可以使用字典解析:

d = { t[0]:t[1:] for t in arr } 
6
d = dict((v[0], v[1:]) for v in arr)