python語法之通過value找key問題
更新時間:2022年11月15日 09:12:01 作者:日日記
這篇文章主要介紹了python語法之通過value找key問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
python通過value找key
方法一
raw_dict={'domain_id': '$domain_id', 'enabled': '$enabled', 'name': '$username'}
?
key_list = list(filter(lambda k: raw_dict.get(k) == "$domain_id", raw_dict.keys()))
print(key_list) # ['enabled', 'name']方法二
newdict = dict(zip(raw_dict.values(),raw_dict.keys())) #字典的反轉(zhuǎn),但是如果兩個key的value一樣,反轉(zhuǎn)后,只會保留一個key print(newdict)
解決問題
接口定義的queryparm一共有3個,但是這三個參數(shù)不是非必填,測試用例需要驗證分別傳入這每一個參數(shù)時的返回結(jié)果,所以需要api調(diào)用時對queryparm進(jìn)行移除,移除沒有傳入的parm
? ? def removeParm(self,srcInterParm,parms):
? ? ? ? #去除無用的parm
? ? ? ? pattern = re.compile(r'\$(.*?)\'')
? ? ? ? parmlist =re.findall(pattern,str(srcInterParm))#獲取到所有$parm變量名
? ? ? ? noexistParm = []
? ? ? ? for value in parmlist:#驗證parm是否在傳參中包含
? ? ? ? ? ? if not parms.keys().__contains__(value):
? ? ? ? ? ? ? ? noexistParm.extend(list(filter(lambda k: srcInterParm.get(k) == '$'+value, srcInterParm.keys())))
? ? ? ? for key in noexistParm:
? ? ? ? ? ? srcInterParm.pop(key)
? ? ? ? return srcInterParm
?
? ? print(t.removeParm({'domain_id': '$domain_id', 'enabled': '$enabled', 'name': '$username'},{}))
#打印結(jié)果為{}python求value最大的key值
d = {"1": 9, "2": 0, "3": 7, "6": 3, "0": 4, "4": 1}
value_1 = max(d, key=d.get)
print(value_1)
value_2 = max(d,key=lambda x:d[x])
print(value_2)
value_3 =sorted(d,key=lambda x:d[x])[-1]
print(value_3)以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python機器學(xué)習(xí)庫scikit-learn使用詳解
scikit-learn是Python中最流行的機器學(xué)習(xí)庫之一,它提供了各種各樣的機器學(xué)習(xí)算法和工具,包括分類、回歸、聚類、降維等2023-03-03
python數(shù)據(jù)結(jié)構(gòu)之線性表的順序存儲結(jié)構(gòu)
這篇文章主要為大家詳細(xì)介紹了python數(shù)據(jù)結(jié)構(gòu)之線性表的順序存儲結(jié)構(gòu),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09

