2016-04-25 84 views
-1

我有多個列表列表裏面象下面這樣:如何列表轉換成字典

x = [[1,2,3],[3,4,5],[6,7,8]] 

但想將其轉換成字典,使每個數組的第一個元素像下面的鍵值

x = [(1:2,3), 
(3:4,5), 
(6:7,8)] 
+2

我改變了「可怕ctory「改爲」字典「。我相信這就是你的意思。 *然而*,你的輸出是*不是*字典。它看起來像元組列表(語法無效) – Andy

+0

什麼應該是1:2,3:4和6:7? – user312016

回答

3

我會用一個字典解析:

{l[0]:l[1:] for l in x} 

這遍歷列表nd將每個嵌套列表的第一個元素作爲鍵,其餘爲值。

0

假設你的字典的描述是正確的,而你在上面顯示的代碼示例是不正確的:

x = [[1,2,3],[3,4,5],[6,7,8]] 
y = {} 
for i in x: 
    y[i[0]] = i[1:] 
print y 
# {1: [2, 3], 3: [4, 5], 6: [7, 8]} 

如果你想要的是一個元組列表的內容:

tuple([tuple(i) for i in x]) 

如果它是一個字典,你想檢查會員資格,並打印最後一個元素

if 1 in y: 
    print y[1][-1:] 
else: 
    print 'Not Found' 
+0

感謝答覆 它給了我,我想 確切的答,但我在這 一個條件,如果1是y,則 它應該打印打印3 意味着其列表 其他的第二個值打印已找不到 如何做這個PLZ幫助 –

+0

您將受益於閱讀https://docs.python.org/2/tutorial/datastructures.html。只需檢查會員資格並打印最後一個元素? 如果1 Y: 打印Y [1] [ - 1:] 否則: 打印 '未找到' – kanghj91

+0

@pradeeppawar,如果你特別想要的第二元件,使用Y [1] [2]代替Y [1] [ - 1]。無論如何,我已經更新了答案,以包括你想要的額外位 – kanghj91