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

标签 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)])}

例如,“Racing Bike”是产品名称,成对列表分别是(零件、所需数量)。

我必须编写一个函数,给定上述字典和产品名称作为参数,然后返回它的键,如果产品名称不存在则返回“无”。

我用过:

    return [key for key, value in product_dict.iteritems() if list(value)[0] == string]

这在测试时返回了正确的 key ,但如果产品名称不存在,我不知道如何让它返回“无”,我不确定这是否是最好的方法。'

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

最佳答案

既然你是在寻求提示,我不会发布工作代码。

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

关于python - 当列表在字典中时查找列表的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5529672/

相关文章:

python - 如何在Python中找到3D数组的局部最大值?

python - pypy 解释器无法识别 nosetests 而 pypy3 可以

python - 为什么字典在 Python 中使用这么多 RAM

c# - 从通用列表创建通用字典

java - 将映射映射到包含名称和值参数的对象列表

python - 字典键*值到python中的列表

swift - 如何将 'nil' 设置为 [String : String] dictionary is valid? 的值

python - 为什么 Pandas 中的条形图不会堆叠不同的值?

python - 无法解决 'No module named Appium' 错误

python - 如何在python的elasticsearch中索引大型json响应?使用Elasticsearch DSL