gpt4 book ai didi

python - 识别产生 KeyError 的丢失键的位置

转载 作者:太空宇宙 更新时间:2023-11-03 14:36:08 25 4
gpt4 key购买 nike

我有一个大约 58,000 行的列表,每行都是一个字典。

示例:

my_list_of_dicts = 
[{'id': '555', 'lang': 'en'},
{'id': '444', 'lang': 'en'},
{'id': '333', 'lang': 'fr'},
{'id': '222', 'lang': 'es'},
{'id': '111', 'lang': 'ge'},
{'id': '666', 'lang': 'fr'},
{'id': '777', : 'du'}]

在每个字典中,你会看到我有一个键“lang”和相应的值,它是几种语言的缩写('en','es','fr','du','ge ',等等...)

我已经成功编写了生成一个系列所需的代码,其中包含此键中所有唯一值的 value_count。

但是,当我这样做时,我收到一个 KeyError,因为显然有一些字典不包含“lang”值。

我创建了一个 try/except 命令,它允许我跳过这些缺失的值。看起来 58,000 行中大约有 5 行缺少“lang”键。

我想找到“lang”这些缺失值的位置。换句话说,在大约 58,000 行中,如何找到哪 5 行缺少“lang”键?

最佳答案

您可以使用getenumerate:

my_list_of_dicts = 
[{'id': '555', 'lang': 'en'},
{'id': '444', 'lang': 'en'},
{'id': '333', 'lang': 'fr'},
{'id': '222', 'lang': 'es'},
{'id': '111', 'lang': 'ge'},
{'id': '666', 'lang': 'fr'},
{'id': '777', "missing_lang": 'du'}]
missing_vals = [i for i, a in enumerate(my_list_of_dicts) if not a.get("lang", False)]

请记住,您包含的原始字典 : 'du' 这是一个无效的键值对,这会在您运行文件时引发错误。因此,为了演示目的,我添加了一个占位符值。

关于python - 识别产生 KeyError 的丢失键的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46944262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com