2017-04-24 212 views
0

我使用python 3.5定義的,我有一本字典:創建從字典元組從列表

dict = {1:'entry 1', 2:'entry 2', 3:'entry 3', 4:'entry 4'} 

和一個列表:

numlist = [1,3,4] 

我想是創建從一個元組字典基於列表中的項目。所以在上面的例子中我想要的輸出是:

('entry 1','entry 3','entry 4') 

但我不知道如何做到這一點。我想:

templist =() 
for i in numlist: 
    templist = (dict[i]) + templist 

然而,這通過了「類型錯誤:無法將‘元組’對象隱含STR」

我不知道怎麼回事,要處理這個問題,任何幫助,將不勝感激。

回答

2

如何使用列表理解?

tuple([dict[e] for e in numlist]) 
2

使用此:

>>> tuple((dict[num] for num in numlist)) 
('entry 1', 'entry 3', 'entry 4') 
0

我一直在你的解決方案,即使它不是Python的方式:

dict = {1:'entry 1', 2:'entry 2', 3:'entry 3', 4:'entry 4'} 
    numlist = [1,3,4] 
    templist =() 
    for i in numlist: 
     templist = (dict[i],) + templist 

    print templist 
0

您可以使用列表理解:tuple([dict[x] for x in numlist])