簡體   English   中英

檢查鍵是否在字典中並且值不為None的大多數pythonic方法

[英]Most pythonic way of checking if a Key is in a dictionary and Value is not None

我正在使用flaskflask_restful並有類似的東西

self.reqparse = reqparse.RequestParser()
self.reqparse.add_argument('OptionalArg', type=str, default=None)
self.reqparse.add_argument('OptionalArg2', type=str, default=None)
self.__args = self.reqparse.parse_args()

if 'OptionalArg' in self.__args and self.__args['OptionalArg'] is not None:
     # Do something with the OptionalArg only
     pass
else:
     # Do something with all the arguments that are not None.
     pass

我找到的最相關的答案。

盡管幾年前就問過這個問題,但我想知道是否還有更多的Python方法來檢查Key是否在字典中,而Value是否不是None

我提到flaskflask_restful的原因是為了證明字典中具有None值的Keys的初始化是合理的。

只需將dict.get方法與可選的default參數一起使用即可。 它返回d[key]如果key存在於字典ddefault否則值:

In [1]: d = {1: 'A', 2: None}

In [2]: d.get(1)
Out[2]: 'A'

In [3]: d.get(2)

In [4]: d.get(1) is not None
Out[4]: True

In [5]: d.get(2) is not None
Out[5]: False

In [6]: d.get(3) is not None
Out[6]: False

對於您的情況:

if self.__args.get('OptionalArg') is not None:
     # Do something with the OptionalArg only
     pass
else:
     # Do something with all the arguments that are not None.
     pass

暫無
暫無

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

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