在我的程序中(搜索特定键)我想实现它终止,如果键有多个值。如何检查多个值的键?
编辑:谢谢你清理我的错误。 看来我的价值观是清单。在这种情况下,我如何检查列表中的多个项目是我的价值?
答案 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
请注意,这假定字典中的每个值都是列表或容器。