如何在python

时间:2016-06-02 06:06:05

标签: python list dictionary

我有query.oderby,这是一个dict对象列表。

[{'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

如果不使用包含()并使用for循环,我如何检查user_id? 我试过了

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

但这没有帮助。

3 个答案:

答案 0 :(得分:2)

你可以这样做:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div style="position:relative;">
  <div class="fill"></div>
  <img class="mask" src="https://static.licdn.com/scds/common/u/img/pic/pic_profile_strength_mask_90x90_v2.png">
  <div class='line'>
    <div>

    </div>
  </div>
</div>

您可以找到有关>>> ar = [{'name': 'asc'}, {'user_id': 'desc'}] >>> any('user_id' in elt for elt in ar) True here的更多信息。

希望它会有所帮助。

答案 1 :(得分:0)

没有for循环..

any(map((lambda x: True if 'user_id' in x.keys() else False ), ar ))

答案 2 :(得分:0)

如果你想让你的代码看起来很简单,你可以使用这样的东西。

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

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