2017-04-24 166 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])