簡體   English   中英

從Python中的字典中選擇key:value對

[英]Select the key:value pairs from a dictionary in Python

我有一個Python Dict,如下所示:

a = {"a":1,"b":2,"c":3,"f":4,"d":5}

我有一個如下列表:

b= ["b","c"]

我想做的是從字典a中選擇key:value對,並在b中添加鍵。 所以輸出應該是像這樣的字典:

out = {"b":2,"c":3}

我可以簡單地創建另一個字典,並使用帶有迭代的key:value對對其進行更新,但是我遇到RAM問題,並且字典a很大。 b包含一些要點,所以我認為從a彈出不起作用。 我該怎么做才能解決這個問題?

編輯:實際上是對a的更新。 所以我將更新為a。

謝謝 :)

如果您確實想使用列表中的鍵來創建新字典,則可以使用dict理解。

a = {"a":1,"b":2,"c":3,"f":4,"d":5}
b = ["b", "c"]

out = {x: a[x] for x in b}

這將通過提高故障KeyError ,如果任何的元素b實際上不在鍵a

如果您對修改現有字典沒有任何問題,請嘗試以下操作:

out = {}
for key in b:
        out[key] = a.pop(key)

不會占用任何額外的空間 ,因為我們將所需的值從舊dict轉移到了新dict,並且還解決了選擇性彈出速度慢的問題(因為我們沒有遍歷所有對象,而只是遍歷了需要)。

你可以這樣

a = {"a":1,"b":2,"c":3,"f":4,"d":5}
b= ["b","c"]

out = {item:a.get(item)for item in b}

這不會引發任何錯誤,但是如果項目不在a中,則會添加''

暫無
暫無

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

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