从列表中定义的字典创建元组

时间:2017-04-24 13:31:04

标签: python list dictionary tuples

我使用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

然而,通过" TypeError:无法转换' tuple'隐含地反对str#34;

我不确定如何处理这个问题,我们将不胜感激。

4 个答案:

答案 0 :(得分:2)

使用列表理解怎么样?

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

答案 1 :(得分:2)

使用此:

(Num == 0) ? Color.red : (Num == 1) Color.green : Color.blue;

答案 2 :(得分:0)

即使不是pythonic方式,我也保留了你的解决方案:

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

答案 3 :(得分:0)

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