当列表在字典中时查找列表的元素?

Sea*_*ean 5 python dictionary

这是家庭作业,所以我不指望答案,只是朝着正确的方向发展.

在python中我有一个类似的字典:

{'bike101': ('Road Bike',
             [('WH139', 2),
              ('TR102', 2),
              ('TU177', 2),
              ('FR101', 1),
              ('FB101', 1),
              ('BB101', 1),
              ('GS101', 1)]),
 'bike201': ('Mountain Bike',
             [('WH239', 2),
              ('TR202', 2),
              ('TU277', 2),
              ('FR201', 1),
              ('FB201', 1),
              ('BB201', 1),
              ('GS201', 1)]),
 'bike301': ('Racing Bike',
             [('WH339', 2),
              ('TR302', 2),
              ('TU377', 2),
              ('FR301', 1),
              ('FB301', 1),
              ('BB301', 1),
              ('GS301', 1)])}
Run Code Online (Sandbox Code Playgroud)

例如,'Racing Bike'是产品名称,对的列表分别是(部分,需要的数量).

我必须编写一个函数,给定上面的字典和产品名称作为参数然后将返回它的密钥,如果产品名称不存在则返回"None".

我用了:

    return [key for key, value in product_dict.iteritems() if list(value)[0] == string]
Run Code Online (Sandbox Code Playgroud)

这在测试时返回了正确的密钥,但如果产品名称不存在,我不知道如何让它返回'none',我不确定这是否是最好的方法.

我只能在python中使用内置函数,非常感谢任何帮助!

Ale*_*ler 2

既然您要求提示,我不会发布工作代码。

您的代码是列表理解,因此它输出一个列表。如果没有结果,列表将为空。您可以将列表绑定到一个变量,用于len()检查其长度,None如果为 0,则返回。