Python从字符串列表中获取一个元素

时间:2019-07-02 10:17:14

标签: python python-3.x list

我都有两个字符串列表。

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? 请帮忙。谢谢。

3 个答案:

答案 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)

您似乎正在寻找str1str2的交集,如果是这种情况,可以将它们转换为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 #