第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何檢查python字典中是否存在值?

如何檢查python字典中是否存在值?

鴻蒙傳說 2022-10-06 16:52:55
假設(shè)我的字典字典叫做記錄是這樣的,其中第一、第二等是鍵 records = {                 first: {                    "email": email,                    "password": password,                    "pwd_secret" : None                     }                 second: {                    "email": email,                    "password": password,                    "pwd_secret" : code                     }           }然后我檢查代碼是否等于pwd_secret任何字典中“”的值。該功能的代碼可以完美運行,但是我的 else 語句不起作用(如果代碼不是pwd_secret任何字典中“”的值,那么我想引發(fā)錯誤。但是目前即使代碼存在,它也只會引發(fā)錯誤。) 有什么建議么? for k, v in records.items():                pwd_secret = v.get('pwd_secret')                if pwd_secret == code:                    hashed_password = hash_password(new_password)                    v['password'] = hashed_password                #else:                    #raise ValueError("code is invalid")
查看完整描述

3 回答

?
四季花海

TA貢獻1811條經(jīng)驗 獲得超5個贊

您可以通過values并使用if條件:


for v in records.values():

    pwd_secret = v.get('pwd_secret')

    if pwd_secret == code:

        # found

你真的不需要經(jīng)歷,items因為看起來你不需要鑰匙。


至于你的錯誤,是從分支ValueError中引發(fā)的,因為不等于. 如果您沒有預(yù)料到這一點,那么您應(yīng)該在編輯器中設(shè)置一個斷點并逐行遍歷您的代碼以查看實際發(fā)生的情況。elsepwd_secretcode


另一個更簡單的調(diào)試步驟是print找出每個值是什么:


for v in records.values():

    pwd_secret = v.get('pwd_secret')


    print(f"pwd secret: {pwd_secret} and code: {code}") # print values here


    if pwd_secret == code:

        print("Secret is valid!")

    else:

        raise ValueError("code is invalid")

如果在內(nèi)部字典中找不到,這也可能會指出v.get('pwd_secret')給你默認值。None'pwd_secret'


此外,如果您想檢查任何內(nèi)部詞典是否有代碼,您可以使用內(nèi)置函數(shù)any():


if any(v.get('pwd_secret') == code for v in records.values()):

    print("Secret found!")

else:

    raise ValueError("Secret not found")


查看完整回答
反對 回復(fù) 2022-10-06
?
皈依舞

TA貢獻1851條經(jīng)驗 獲得超3個贊

功能:


def check_value(dict_of_dicts, value):

    return any(value in dict_.values() for dict_ in dict_of_dicts.values()) 

例子:


a = {

      'first': {

         "email": 'email',

         "password": 'password',

         "pwd_secret": None

      },


      'second': {

         "email": 'email',

         "password": 'password',

         "pwd_secret": 'code'

      }

}


check_value(a, 'code')

# True


查看完整回答
反對 回復(fù) 2022-10-06
?
嗶嗶one

TA貢獻1854條經(jīng)驗 獲得超8個贊

假設(shè)這本字典:


records = {

  'first': {

                "email": 1234,

                "password": 1234,

                "pwd_secret" : None

                 },

             'second': {

                "email": 1234,

                "password": 1234,

                "pwd_secret" : 'code'

                 }

       }

和測試循環(huán):


for v in records.values():

  if v['pwd_secret'] == 'code':

    print('here...')

而不是該print()子句,只需放置您希望執(zhí)行的必要操作。換句話說-您的代碼應(yīng)該可以工作,問題可能不在于在嵌套字典中查找值。


查看完整回答
反對 回復(fù) 2022-10-06
  • 3 回答
  • 0 關(guān)注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號