python defaultdict获取方法返回值

时间:2016-04-23 07:03:17

标签: python

使用Python 2并想知道为什么FalseTrue之外的其他内容?我认为我们的关键值为2,因此get(2)应该返回True?感谢。

import collections

dict = collections.defaultdict(list)
dict[1]=[1,2,3]
dict[2]=[4,5,6]

print dict

if dict.get(2) == True:
    print True
else:
    print False
提前谢谢, 林

1 个答案:

答案 0 :(得分:-1)

永远不要使用python内置名称作为变量名。

My_dict.get()不返回True,如果存在,则返回已传递密钥的值,否则如果您未通过默认参数,则返回None默认情况下。

如果您想检查My_dict.get()的验证,可以执行以下操作:

if My_dict.get(2):
    print True
else:
    print False

或者只是:

print bool(My_dict.get(2))

以下是一个例子:

>>> from collections import defaultdict
>>> 
>>> 
>>> my_dict = defaultdict()
>>> 
>>> my_dict[1]=[1,2,3]
>>> my_dict[2]=[4,5,6]
>>> 
>>> my_dict
defaultdict(None, {1: [1, 2, 3], 2: [4, 5, 6]})
>>> 
>>> 2 in my_dict
True
>>> 
>>> my_dict.get(2)
[4, 5, 6]
>>> 
>>> my_dict.get(7, None)
>>> bool(my_dict.get(7, None))
False