我希望我能得到一些帮助(并充分表达请求,以便您理解我想要做什么)。
我正在使用 Meraki 的 Python 库编写一个脚本,该脚本使用 for 循环来获取防火墙规则的字典列表,并将其写入变量
从那里我将字典插入到第 0 行。
问题是列表中有一本字典我需要删除。每个网络的规则关键编号都会发生变化,因为其中一些已经有规则,但它始终是列表中的最后一项并包含相同的信息。
其格式如下 -
{'rules': [
{'comment': 'XXX', 'policy': 'deny', 'srcCidr': 'IP', 'destCidr': 'IP'},
{'comment': 'Remove', 'policy': 'allow', 'srcCidr': 'IP', 'destCidr': 'IP'}
]}
在此示例中,第二行需要删除,但在 if 循环中,由于前面有其他条目,需要删除的行可能是第四项。
我考虑过为其创建一个 if 语句,但我不知道如何格式化它
细分您需要什么:
你拥有的数据是一个字典(比如说
d
),并且你知道你需要修改的字典部分是一个列表,它是键'rules'
的值。您可以使用 d['rules']
访问该列表。您可以使用 d['rules'][index]
访问该列表的元素。
列表包含字典,但您所需要做的就是删除列表中的最后一个,因此您要删除的对象类型并不重要。您可以通过从后面
d['rules'][-1]
开始计数来访问列表中的最后一个元素。请注意,Python 首先从 0 开始,但后面必须从 -1 开始(因为 0 和 -0 之间没有区别)。
要在 Python 中删除/取消设置变量,您可以使用
del
,它也适用于删除字典条目:
del d['rules'][-1]