[英]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.