2016-06-02 12 views
0

私はdictオブジェクトのリストであるquery.oderbyを持っています。Pythonで辞書オブジェクトのリスト内の特定のキーを見つける方法

[{'name': 'asc'}, {'user_id': 'desc'}] 

私は、リストがどのように私はを使用せずに、それ以外のuser_idを確認することができ、次の

for query in query.orderby: 
    if query.keys().__contains__('user_id'): 
     if query['user_id'] == 'desc': 
      #then sort in desc order 
     elif query['user_id'] == 'asc': 
      #the sort in asc order 
     else: 
      #move to next dict object 
      query = query + 1 

    else: 
     #do something else if no user_id found in the list of dict 

とUSER_IDた場合(が含まれています確認してください)とループのために使用して? 私は試しました

if query.keys() == 'user_id': 
    #then do something 

しかし、これは役に立ちませんでした。

答えて

0

uはウルのコードがシンプルになりたい場合は、このようなものを使用することができます。

l = [{'name': 'asc'}, {'user_id': 'desc'}] 

for query in l: 
    if (query.has_key('user_id')): 
     print "Key Found" 
+0

ありがとうございました。次のdictオブジェクトにスキップするにはどうすればよいですか?['user_id']は 'asc'または 'desc'ではありませんか?私の場合は、単にquery = query + 1を使用します。 – NSP

+0

私はあなたが言ったことをかなり得ていないと思う。あなたはquery ['user_id']の値をチェックしたいと言っているのですか? – DineshKumar

+0

@sanjanaリスト内の次のdict要素を反復する方法を尋ねるなら、forループがその仕事をするので、インクリメントについて心配する必要はありません。 – DineshKumar

2

あなたはこれを行うことができます。

>>> ar = [{'name': 'asc'}, {'user_id': 'desc'}] 
>>> any('user_id' in elt for elt in ar) 
True 

あなたはany()hereに関するより多くの情報を見つけることができます。

希望すると便利です。 forループのない

+0

回答ありがとうございます。しかし、私の質問はあまり明確ではないと思います。私はその質問を修正した。私が何を試すことができるか教えてください。 – NSP

0

..

any(map((lambda x: True if 'user_id' in x.keys() else False), ar)) 
関連する問題