gpt4 book ai didi

python - 将 key 与 python 中的不同对匹配

转载 作者:行者123 更新时间:2023-11-28 18:05:57 25 4
gpt4 key购买 nike

由于属性的名称不同,我需要将键值对的键与正则表达式进行匹配。

可能的名称在字典中定义:

MyAttr  = [
('ref_nr', 'Reference|Referenz|Referenz-Nr|Referenznummer'),
('color', 'Color|color|tinta|farbe|Farbe'),
]

从另一个字典中的项目导入属性:

ImportAttr  = [
('Referenz', 'Ref-Val'),
('color', 'red'),
]

现在我想返回导入属性的值,如果它是一个已知属性(在我的第一个字典 MyAttr 中定义)匹配相关属性的不同拼写。

for key, value in ImportAttr:
if key == "Referenz-Nr" : ref = value
if key == "Farbe" : color = value

目标是返回已知属性的可能属性值。

print(ref)
print(color)

如果“Referenz-Nr”和“Farbe”是已知属性,应该返回值。

显然这个伪代码不起作用,我只是无法理解为键搜索实现正则表达式的函数。

最佳答案

我不清楚,但也许你想要:

#!/usr/bin/python3

MyAttr = [
('ref_nr', 'Reference|Referenz|Referenz-Nr|Referenznummer'),
('color', 'Color|color|tinta|farbe|Farbe')
]

ImportAttr = [
('Referenz', 'Ref-Val'),
('color', 'red'),
]

ref, color = None, None

for key, value in ImportAttr:
if key in MyAttr[0][1].split('|'):
ref = value
if key in MyAttr[1][1].split('|'):
color = value

print("ref: ", ref)
print("color: ", color)

拆分可以通过分隔符(此处为“|”字符)将字符串拆分为字符串列表,然后您可以检查是否是该列表中的键。

下面的解决方案有点棘手。如果您不想将位置硬编码到您的源代码中,您可以使用 locals()。

#!/usr/bin/python3

MyAttr = [
('ref', 'Reference|Referenz|Referenz-Nr|Referenznummer'),
('color', 'Color|color|tinta|farbe|Farbe')
]

ImportAttr = [
('Referenz', 'Ref-Val'),
('color', 'red'),
]

ref, color = None, None

for var, names in MyAttr:
for key, value in ImportAttr:
if key in names.split('|'):
locals()[var] = value
break

print("ref: ", ref)
print("color: ", color)

关于python - 将 key 与 python 中的不同对匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53465977/

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