2014-07-17 18 views
-6

我有一個列表看起來像這樣如何列表轉換使用python

[(u'name1', (47.5320299939, 7.70498245944), (47.5321349987, 7.70499587048), (47.5319710886, 7.70484834899), (47.5320299939, 7.70498245944)),(u'name2', (47.5320299939, 7.70498245944), (47.5321349987, 7.70499587048), (47.5319710886, 7.70484834899), (47.5320299939, 7.70498245944))] 

我要將列表轉換爲字典是這樣的

{'name1': (47.5320299939, 7.70498245944), (47.5321349987, 7.70499587048), (47.5319710886, 7.70484834899), (47.5320299939, 7.70498245944)} 

我想要做它與dict蟒蛇。任何人都可以幫忙

+2

這不是一個有效的字典;你是否意味着將元組收集到一個列表值中? –

+1

輸入中的name2發生了什麼? –

+0

[Python:List to Dictionary]的可能重複(http://stackoverflow.com/questions/4576115/python-list-to-dictionary) –

回答

1

字典的理解可以這樣做:

{item[0]: item[1:] for item in inputlist} 

隨着你輸入元素的元組,你的輸出值的元組也:

>>> inputlist = [(u'name1', (47.5320299939, 7.70498245944), (47.5321349987, 7.70499587048), (47.5319710886, 7.70484834899), (47.5320299939, 7.70498245944)),(u'name2', (47.5320299939, 7.70498245944), (47.5321349987, 7.70499587048), (47.5319710886, 7.70484834899), (47.5320299939, 7.70498245944))] 
>>> {item[0]: item[1:] for item in inputlist} 
{u'name2': ((47.5320299939, 7.70498245944), (47.5321349987, 7.70499587048), (47.5319710886, 7.70484834899), (47.5320299939, 7.70498245944)), u'name1': ((47.5320299939, 7.70498245944), (47.5321349987, 7.70499587048), (47.5319710886, 7.70484834899), (47.5320299939, 7.70498245944))} 
>>> pprint({item[0]: item[1:] for item in inputlist}) 
{u'name1': ((47.5320299939, 7.70498245944), 
      (47.5321349987, 7.70499587048), 
      (47.5319710886, 7.70484834899), 
      (47.5320299939, 7.70498245944)), 
u'name2': ((47.5320299939, 7.70498245944), 
      (47.5321349987, 7.70499587048), 
      (47.5319710886, 7.70484834899), 
      (47.5320299939, 7.70498245944))} 
+0

@@ Martinjn Pieters:Thanks Martijn。有效。這就是我要的。 –