Python - 从字典列表中删除字典

问题描述 投票:0回答:1

我希望我能得到一些帮助(并充分表达请求,以便您理解我想要做什么)。

我正在使用 Meraki 的 Python 库编写一个脚本,该脚本使用 for 循环来获取防火墙规则的字典列表,并将其写入变量

从那里我将字典插入到第 0 行。

问题是列表中有一本字典我需要删除。每个网络的规则关键编号都会发生变化,因为其中一些已经有规则,但它始终是列表中的最后一项并包含相同的信息。

其格式如下 -

{'rules': [
{'comment': 'XXX', 'policy': 'deny', 'srcCidr': 'IP', 'destCidr': 'IP'},
 {'comment': 'Remove', 'policy': 'allow', 'srcCidr': 'IP', 'destCidr': 'IP'}
]}

在此示例中,第二行需要删除,但在 if 循环中,由于前面有其他条目,需要删除的行可能是第四项。

我考虑过为其创建一个 if 语句,但我不知道如何格式化它

python arrays list dictionary
1个回答
0
投票

细分您需要什么:

  • 您需要修改什么?
  • 具体需要如何修改?

你拥有的数据是一个字典(比如说

d
),并且你知道你需要修改的字典部分是一个列表,它是键
'rules'
的值。您可以使用
d['rules']
访问该列表。您可以使用
d['rules'][index]
访问该列表的元素。

列表包含字典,但您所需要做的就是删除列表中的最后一个,因此您要删除的对象类型并不重要。您可以通过从后面

d['rules'][-1]
开始计数来访问列表中的最后一个元素。请注意,Python 首先从 0 开始,但后面必须从 -1 开始(因为 0 和 -0 之间没有区别)。

要在 Python 中删除/取消设置变量,您可以使用

del
,它也适用于删除字典条目:

del d['rules'][-1]
© www.soinside.com 2019 - 2024. All rights reserved.