簡體   English   中英

如何在python字典中迭代特定鍵的值?

[英]how to iterate values of perticular keys in python dictionary?

我有這樣的事情,

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']]
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]

嘗試這個 - :

newlist = [dict.get(i) for i in list if dict.has_key(i)]

它將處理key exists和其他錯誤。

以上將為你工作.. :)

如果您確定所有鍵都在列表中,則可以使用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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM