【发布时间】:2016-02-17 01:41:48
【问题描述】:
我的字典列表中有以下数据:
data = [{'I-versicolor': 0, 'Sepal_Length': '7.9', 'I-setosa': 0, 'I-virginica': 1},
{'I-versicolor': 0, 'I-setosa': 1, 'I-virginica': 0, 'Sepal_Width': '4.2'},
{'I-versicolor': 2, 'Petal_Length': '3.5', 'I-setosa': 0, 'I-virginica': 0},
{'I-versicolor': 1.2, 'Petal_Width': '1.2', 'I-setosa': 0, 'I-virginica': 0}]
为了获得基于键和值的列表,我使用以下方法:
next((item for item in data if item["Sepal_Length"] == "7.9"))
但是,所有字典都不包含键 Sepal_Length,我得到了:
KeyError: 'Sepal_Length'
我该如何解决这个问题?
【问题讨论】:
-
这个问题让我觉得
list.index应该采用可选的key,如list.sort,用作谓词... -
@Claudiu -- 这是一个有趣的想法。我经常使用这个
next成语,但它有一些夸克(例如,如果您不确定是否会找到匹配项,则提供默认值)
标签: python dictionary python-3.5