字典 - 检查多个值的键

时间:2016-06-06 10:26:33

标签: python dictionary

在我的程序中(搜索特定键)我想实现它终止,如果键有多个值。如何检查多个值的键?

编辑:谢谢你清理我的错误。 看来我的价值观是清单。在这种情况下,我如何检查列表中的多个项目是我的价值?

2 个答案:

答案 0 :(得分:1)

字典键不可能有多个值:字典中没有键,因此它没有值,或者它存在,并且它有一个值。

该值可以是元组,列表,字典等,其中包含多个值,但仍然是一个值本身。该值也可以是None,它可以是无值的标记,但它仍然是值。

正如@ Ulisha的评论所说,如果您尝试为键分配新值,新值将只替换旧值。同样,给定键最多只能有一个值,尽管有些方法可以通过使用容器对象(例如元组,列表或字典)来模拟多个值。

如果您正在查看特定项目,并且想要测试它是否为列表,则可以使用

if isinstance(item, list):

这还将捕获具有从列表下降的类型的项目,例如优先级队列。如果你想扩展它以检测元组,dicts,集和大多数其他“容器”,你可以使用

if isinstance(item, collections.Container):

为此,您当然需要导入collections模块。

请记住,即使该项目是一个列表,它也可能没有,一个或多个项目。

答案 1 :(得分:1)

使用python中的len内置函数,可以检查列表的长度。如果值的长度大于1,则列表中有多个值。

for key in dictionary: # loop through all the keys
    value = dictionary[key]   # get value for the key
    if len(value) > 1:        
        break                 # stop loop if list length is more than 1

请注意,这假定字典中的每个值都是列表或容器。