gpt4 book ai didi

Python:如果Python列表的当前索引发生异常,如何检查列表中的下一个索引

转载 作者:行者123 更新时间:2023-12-01 07:12:18 24 4
gpt4 key购买 nike

我正在尝试用 python 编写一个简单的代码,其中有一个字典列表,我将根据字典中的键过滤出值。

我的词典列表是这样的:

Mylist = [
{"data": "two.mail-in.daimler.com.", "ttl": 3600, "type": "MX"},
{"data": "two.mail-in.daimler.com.", "ttl": 3600},
{"data": "two.mail-in.daimler.com.", "ttl": 3600, "type": "A"},
]

我想提取键值对为“type”:“A”的字典为此,我使用的操作代码为:

a = list(filter(lambda type: type['type'] == 'A', Mylist))

这段代码没有问题。问题是,第二个字典没有名为“Type”的键,因此它会抛出 KeyError 异常,并且程序会停止而不检查第三个字典或列表的第二个索引。

我想要的是忽略第二个字典中的键错误并检查第三个字典并打印出键值为“type”=“A”的字典

所以我尝试使用 try/except 。

Mylist = [

{"data": "two.mail-in.daimler.com.", "ttl": 3600, "type": "MX"},
{"data": "two.mail-in.daimler.com.", "ttl": 3600},
{"data": "two.mail-in.daimler.com.", "ttl": 3600, "type": "A"},
]

IP_Data =[]
for dicti in Mylist:

try:
a = list(filter(lambda type: type['type'] == 'A', Mylist))
IP_Data.append(a)

except:
continue
print(IP_Data)

input()

我已将结果存储在另一个名为 IP_Data 的列表中。当我运行代码时,我得到的结果是一个空数组,即 []有人可以告诉我为什么会发生这种情况以及使整个字典存储在键值为 type=A 的数组中的任何方法

p.s我也尝试过通过而不是继续,但我仍然遇到同样的问题。

谢谢。

最佳答案

使用dict.get()字典上的方法以避免字典没有该特定键的情况,如果字典中不存在该键,您可以设置默认值。试试这个:

Mylist = [
{"data": "two.mail-in.daimler.com.", "ttl": 3600, "type": "MX"},
{"data": "two.mail-in.daimler.com.", "ttl": 3600},
{"data": "two.mail-in.daimler.com.", "ttl": 3600, "type": "A"},
]
a = list(filter(lambda type: type.get('type', None) == 'A', Mylist))

输出:

[{'data': 'two.mail-in.daimler.com.', 'ttl': 3600, 'type': 'A'}]

关于Python:如果Python列表的当前索引发生异常,如何检查列表中的下一个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58146373/

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