gpt4 book ai didi

python - 是否可以搜索特定的键/值条目,如果找到,则删除整个字典?

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

我有一个 CSV 文件,我正在将其作为字典列表进行迭代(想象一下 excel 文件中的每一行都由一个单独的字典表示,该字典由一个列名和该列的值组成)。

有什么方法可以遍历所有字典,搜索特定的键:值组合,如果找到,则删除整个字典?本质上,如果特定列 == 99999,则删除该行(字典)。

这就是我所拥有的,我得到的“列表索引超出范围”错误似乎是常见于此类事物。

for i in range(len(csv_data)):
column_name = 'specific_column'
if csv_data[i][column_name] == '99999':
del csv_data[i]
else:
pass

最佳答案

您可以使用列表理解重建列表,保留行:

column_name = 'specific_column'
csv_data = [row for row in csv_data if row[column_name] != '99999']

这将创建一个新列表,替换旧列表,其中仅保留特定列设置为 '99999' 的字典。

你得到一个 IndexError 异常,因为你的循环没有考虑到列表越来越短;您正在从 0 循环到 N,但是当您删除时,列表的最后一个索引从 N - 1 移动到 N - 2

此外,当您的 i 循环遍历索引时,您最终会跳过 行,因为 i 递增,但是索引中的下一个元素当您删除它前面的项目时,列表会向下移动索引。

关于python - 是否可以搜索特定的键/值条目,如果找到,则删除整个字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26127200/

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