gpt4 book ai didi

python - 验证架构并将其应用于 python 中的列表

转载 作者:太空宇宙 更新时间:2023-11-03 16:37:42 24 4
gpt4 key购买 nike

基本上我有一个列表列表,如下所示,它应该遵循类似的模式

[[ID,值1,值2,值3]]

[[105, 'A', 'B'],
[102, 'B', 'C'],
[111, 'A', 'B', 'C'],
[106, 'B'],
[100, 'A', 'C']]

我想要达到这样的结果

[[105, 'A', 'B', 'null'],
[102, 'null','B', 'C'],
[111, 'A', 'B', 'C'],
[106, 'null','B','null'],
[100, 'A','null', 'C']]

这就像我有一个列表必须遵循的模式,如果特定值不可用,则应将其替换为 null。我可以使用条件语句编写代码,但它不是可扩展的选项。我正在尝试处理一些包,例如 schema 0.5.0 和 marshmallow,它们仅用于验证特定列表或字典是否可以遵循模式(T/F)。但如果找不到值,我会尝试替换它们。

最佳答案

尝试以下操作。本质上将每个列表映射到具有值或 None 的新列表。

alist = [[105, 'A', 'B'],
[102, 'B', 'C'],
[111, 'A', 'B', 'C'],
[106, 'B'],
[100, 'A', 'C']]

alist = map(lambda x: [x[0] ,
"A" if "A" in x else "None",
"B" if "B" in x else "None",
"C" if "C" in x else "None"], alist)

或者:您可以只拥有列表应具有的值列表,然后映射该列表。

values =   ["A","B", "C", "D"]
alist = list(map(lambda x: [x[0]] + #ID
list(map(lambda y: y if y in x else "None", values)), alist))

关于python - 验证架构并将其应用于 python 中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37081452/

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