first_array = ['aaa', 'eee'] second_array = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
在Python中,我想确定第一个数组中的任何元素(一个或多个)是否出现在第二个数组中。我尝试使用子集和并集,但效果不是很好。我不想使用循环,因为它需要时间
zlwx9yxi1#
if set(first_array) & set(second_array): print("There are some shared elements")
由于构造两个集合需要时间,因此在短数组上比简单的数组实现要慢,但在大数组上性能要高得多。
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))
这将输出两个列表中的条件和内容我希望这能有所帮助:)
tgabmvqs3#
这只会将较小的列表转换为集合,并且如果发现共享值,就停止查看另一个列表的元素,而且所有的困难工作都是用C语言完成的,而不是Python。
small, large = sorted((first_array, second_array), key=len) result = not set(small).isdisjoint(large)
smtd7mpg4#
您可以使用以下代码:
result = any([x in second_array for x in first_array])
4条答案
按热度按时间zlwx9yxi1#
由于构造两个集合需要时间,因此在短数组上比简单的数组实现要慢,但在大数组上性能要高得多。
balp4ylt2#
第一个数组=['aaa','ee']第二个数组=['aaa','bbb','ccc','ddd','ee']
如果没有循环,则为:
这将输出两个列表中的条件和内容
我希望这能有所帮助:)
tgabmvqs3#
这只会将较小的列表转换为集合,并且如果发现共享值,就停止查看另一个列表的元素,而且所有的困难工作都是用C语言完成的,而不是Python。
smtd7mpg4#
您可以使用以下代码: