我都有两个字符串列表。
str1 = ["phone number", "phone #", "phone num"]
str2 = ["phone #", "invoice date", "invoice number"]
我想在str1条件下从str2数组列表中找到合适的元素。
result = get_proper_element(str2, str1)
print(result)
phone #
是否为此使用任何python函数或ML,Tensorflow API? 请帮忙。谢谢。
答案 0 :(得分:1)
您可以使用set intersection获取两个列表共有的所有字符串。
尝试一下:
str1 = ["phone number", "phone #", "phone num"]
str2 = ["phone #", "invoice date", "invoice number"]
def get_proper_element(str2, str1):
return set(str2) & set(str1)
result = get_proper_element(str2, str1)
for item in result:
print(item)
输出:
电话号码
答案 1 :(得分:1)
您似乎正在寻找str1
和str2
的交集,如果是这种情况,可以将它们转换为set
并进行交集:
str1 = ["phone number", "phone #", "phone num"]
str2 = ["phone #", "invoice date", "invoice number"]
result = set(str1).intersection(str2)
print(result)
答案 2 :(得分:0)
any()函数测试可迭代项中的任何项是否为True。它接受一个iterable并返回True,如果iterable中至少有一项为true,否则返回False。
str1 = ["phone number", "phone #", "phone num"]
str2 = ["phone #", "invoice date", "invoice number"]
for st1 in str2:
if any(st in st1 for st in str1):
print(st1)
O / P:
phone #