亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

在字典列表中查找鍵值

在字典列表中查找鍵值

皈依舞 2021-09-25 10:16:45
我正在嘗試編寫一個函數,一旦它收到一個數字,它就會通知用戶它是否已經在列表中,如下所示:TodoList=[{'id':5} ,{'id':3}  ,{'id':6}];def AddItem(id):     if id in TodoList:          print('inside');但是我不知道如何搜索它是否在字典列表中,我該怎么做?
查看完整描述

3 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

比其他答案更有效,因為它會在找到第一個匹配項后立即停止(并且還支持這些字典將具有更多鍵值對的情況):


TodoList = [{'id': 5}, {'id': 3}, {'id': 6}]


def AddItem(i):

    if any(d['id'] == i for d in TodoList):

        print('inside')


AddItem(5)


查看完整回答
反對 回復 2021-09-25
?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

您應該使用安全的字典方法 get()。

這是您可以解決此問題的方法...


TodoList=[{'id':5} ,{'id':3}  ,{'id':6}];

def AddItem(id):

     values = [i.get('id') for i in TodoList]

     if id in values:

         return True

     return False


AddItem(2)

[OUT]: False


AddItem(3)

[Out]: True


查看完整回答
反對 回復 2021-09-25
?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

我們創建一個包含嵌套字典的所有值的列表并搜索它們。


TodoList=[{'id':5} ,{'id':3}  ,{'id':6}];


def AddItem(id):

     values_TodoList = [i['id'] for i in TodoList]

     if id in values_TodoList:

          print('inside');

     else:

          print('not inside')


AddItem(5)

    inside


AddItem(10)

    not inside


查看完整回答
反對 回復 2021-09-25
  • 3 回答
  • 0 關注
  • 295 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號