我有类似的东西,
newlist = []
list =['a','b','c','d','e']
dict = {'a':['a','a1','a2','a3'],'b':['b','b1','b2','b3'],.....'e':['e','e1','e2','e3']
}
我试过这样,
for listval in list:
newlist.append(dict[listval]].values())
但是没有得到预期的结果,我的期望是,
newlist = [['a','a1','a2','a3'],['b','b1','b2','b3'],....,['e','e1','e2','e3']]
答案 0 :(得分:1)
new_list = [the_dict[k] for k in the_list]
或者某些键可能丢失:
new_list = [the_dict[k] for k in the_list if k in the_dict]
答案 1 :(得分:1)
试试这个 - :
newlist = [dict.get(i) for i in list if dict.has_key(i)]
它将处理key exists
和其他错误。
以上将为你工作.. :))
答案 2 :(得分:0)
如果您确定所有密钥都在列表中,则可以使用map
。
list1 =['a','b','c','d','e']
dict1 = {'a':['a','a1','a2','a3'],'b':['b','b1','b2','b3'],'c':['c','c1','c2','c3'],'d':['d','d1','d2','d3'],'e':['e','e1','e2','e3']}
newlist = map(dict1.get, list1)