检查嵌套列表中是否存在值

Tom*_*Tom 2 python

在我的清单中:

animals =  [ ['dog', ['bite'] ],
             ['cat', ['bite', 'scratch'] ],
             ['bird', ['peck', 'bite'] ], ]

add('bird', 'peck')
add('bird', 'screech')
add('turtle', 'hide')
Run Code Online (Sandbox Code Playgroud)

add函数应该在将它们添加到列表之前检查动物和动作是否尚未添加.有没有办法在不将每个步骤的循环嵌入列表的情况下完成此操作?

rec*_*ive 6

您使用的是错误的数据类型.使用dictset!而非:

def add(key, value, userdict):
    userdict.setdefault(key, set())
    userdict[key].add(value)
Run Code Online (Sandbox Code Playgroud)

用法:

animaldict = {}
add('bird', 'peck', animaldict)
add('bird', 'screech', animaldict)
add('turtle', 'hide', animaldict)
Run Code Online (Sandbox Code Playgroud)