从可能缺少的dict值初始化Python变量

Car*_*cio 1 python indexing dictionary initialization

什么是Pythonic的方法呢?

value = (mydict.has_key('index') and mydict['index']) or 1024
Run Code Online (Sandbox Code Playgroud)

从dict的值初始化(如果存在),否则使用默认值.

在LBYL和EAFP上得到了一些答案,但是过于冗长的代码:p

我想要一些单线初始化.

PS:仅限python-2.4(运行CentOS5)

Sve*_*ach 11

value = mydict.get('index', 1024)
Run Code Online (Sandbox Code Playgroud)

(请注意,这并不完全等同于您的代码,因为它1024仅在密钥index不存在时使用,而您的代码也在1024与密钥对应的值为index假时使用.根据您的解释,我推断前者是您真正想要的.)