使用Python 2并想知道为什么False
除True
之外的其他内容?我认为我们的关键值为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
提前谢谢,
林
答案 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