小编Pro*_*ndy的帖子

有没有办法在Cygwin上使用Python 3.5?

Python 2.7工作正常,但我想使用3.5,有没有办法做到这一点?

在为Cygwin安装软件包时,Python的"最新"版本是2.7,所以如果我在这里回答我自己的问题,请告诉我.

python cygwin

10
推荐指数
1
解决办法
4141
查看次数

Python dict.get()或无场景

我试图根据我拥有的键的列表来访问字典的值。如果密钥不存在,则默认为“无”。但是,当值是空字符串”时,我遇到了麻烦。请参阅以下代码获取我的示例

dict = {}
dict['key'] = ''
test = dict.get('key')
print(test)
>>
Run Code Online (Sandbox Code Playgroud)

上面是预期的,并打印空字符串。但是现在看看如果不存在该键时我将dict.get()函数默认设置为None会发生什么

dict = {}
dict['key'] = ''
test = dict.get('key') or None
print(test)
>> None
Run Code Online (Sandbox Code Playgroud)

为什么会这样?在第二个示例中,存在密钥,因此我的直觉说“应打印”。Python如何应用该行代码的“或”子句?

以下是我用来访问字典的实际代码。请注意,字典中的许多键都以''作为值,因此是我的问题。

# build values list
params = []
for col in cols:
    params.append(dict.get(col) or None)
Run Code Online (Sandbox Code Playgroud)

有人可以提供最佳解决方案吗?我当前的解决方案如下,但我认为这不是最干净的选择

# build values list
params = []
for col in cols:
    if dict.get(col) is not None:
        params.append(dict.get(col))
    else:
        params.append(None)
Run Code Online (Sandbox Code Playgroud)

python dictionary

0
推荐指数
2
解决办法
1万
查看次数

标签 统计

python ×2

cygwin ×1

dictionary ×1