python-3.x 在另一个字符串数组中查找字符串数组中的一个或多个元素

ryevplcw  于 2023-03-09  发布在  Python
关注(0)|答案(4)|浏览(136)
first_array = ['aaa', 'eee']
second_array = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']

在Python中,我想确定第一个数组中的任何元素(一个或多个)是否出现在第二个数组中。
我尝试使用子集和并集,但效果不是很好。我不想使用循环,因为它需要时间

zlwx9yxi

zlwx9yxi1#

if set(first_array) & set(second_array):
    print("There are some shared elements")

由于构造两个集合需要时间,因此在短数组上比简单的数组实现要慢,但在大数组上性能要高得多。

balp4ylt

balp4ylt2#

第一个数组=['aaa','ee']第二个数组=['aaa','bbb','ccc','ddd','ee']

for x in first_array:
    if x in second_array:
        print(f"{x} is in second_array")

如果没有循环,则为:

set(first_array).intersection(set(second_array))

这将输出两个列表中的条件和内容
我希望这能有所帮助:)

tgabmvqs

tgabmvqs3#

这只会将较小的列表转换为集合,并且如果发现共享值,就停止查看另一个列表的元素,而且所有的困难工作都是用C语言完成的,而不是Python。

small, large = sorted((first_array, second_array), key=len)
result = not set(small).isdisjoint(large)
smtd7mpg

smtd7mpg4#

您可以使用以下代码:

result = any([x in second_array for x in first_array])

相关问题