簡體   English   中英

通過刪除更新字典鍵從 Python 中的鍵值開始

[英]Update dictionary key(s) by drop starts with value from key in Python

我有一個字典dict

dict = {'drop_key1': '10001', 'drop_key2':'10002'}

dict的鍵以drop_ ,我想通過從鍵中刪除drop_值來更新dict

dict = {'key1': '10001', 'key2':'10002'}

最好的方法是什么?

就像是

d1 = {'drop_key1': '10001', 'drop_key2':'10002'}
d2 = {k[5:]:v for k,v in d1.items()}
print(d2)

輸出

{'key1': '10001', 'key2': '10002'}

一種方法是,對於字典中的每個key ,您可以用新的字符串值替換字符串的一部分。 例如:

d = {k.replace('drop_', ''): v for k, v in d.items() if k.strip().startswith('drop_')}

或者您可以定義一個函數,並獲取搜索字符串的索引(“ drop_ ”)。 如果搜索字符串索引為 0,則將其刪除。 例如:

def change_key(key, search):
    start_idx = key.find(search)
    if start_idx == 0:
        key = key.replace(search, "")
    return key

d = {change_key(k, search="drop_"): v for k, v in d.items()}

結果:

{'key1': '10001', 'key2': '10002'}

請注意,如果您使用方法,那么您可以保證刪除位於字符串開頭的搜索字符串。 例如:

d = {'      drop_key1': '10001', 'drop_key2': '10002'}
d = {change_key(k, search="drop_"): v for k, v in d.items()}

結果:

{'      drop_key1': '10001', 'key2': '10002'}

暫無
暫無

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

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