簡體   English   中英

Python在字典中迭代以獲得空鍵

[英]Python Iterating in a dictionary to get empty key's

大家好,我正在嘗試從字典中迭代以獲取密鑰,以防某些密鑰為空,但我不知道如何實現這一點。

任何想法 ?

def val(**args):
    args = args
    print args



    # print args
    # print (args.keys())

val(name = '', country = 'Canada', phone = '')

在這個例子中,我得到{'country':'Canada','name':'','phone':''}但當我真正想要的是只使用append獲取列表中空鍵的鍵,問題是它給了我所有的鍵,而不僅僅是空鍵。

在這種情況下,我想返回這樣的內容:姓名,電話

我感謝您的幫助。

迭代字典並提取值為空字符串的鍵:

empty_keys = [k for k, v in args.items() if v == '']

或作為一種功能:

>>> def val(**args):
...     return [k for k, v in args.items() if v == '']
...
>>> val(name = '', country = 'Canada', phone = '')
['phone', 'name']

這是你獲得空鍵列表的方法:

empty = [k for k, v in args.items() if not v or v.isspace()]

請注意,上面包括值為None''或僅包含空格的情況。

for語句可用於迭代字典的鍵/值,然后您可以使用它們執行所需的操作。

def val(args) :
   outputList = []
   for k, v in args :
      if v == '' :
         outputList.append(k)
   return outputList

此函數將返回由值為空字符串的鍵組成的列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM