gpt4 book ai didi

python - 在一个非常大的列表中找到一个很大的元组

转载 作者:行者123 更新时间:2023-12-04 11:58:41 24 4
gpt4 key购买 nike

假设我有一个元组列表:

tuple_library = [('a', 'z', '1'), ('r', '3', 'b'), ('m', '1', 'l')]
我想要做的是检查 tuple_library 中是否存在以下元组。
search_list = [('a','a','1'), ('m', '1', 'l')]


def search_the_tupple(t_lib, s_list):
for item in t_lib:
if item in s_list:
return(item)

print(search_the_tupple(tuple_library, search_list))
如果 tuple_library 和 search_list 很小,则此代码可以正常工作,但是随着这两项的增加,完成它所需的时间也更长。
我们如何解决这个问题?

最佳答案

  • 转换 tuple_librarysearch_list到带有 set() 的 python 集
  • 返回 路口两个集合中的所有元素,即同时存在于 tuple_library 中的所有元素和 search_list

  • tuple_library = [('a', 'z', '1'), ('r', '3', 'b'), ('m', '1', 'l')]
    search_list = [('a','a','1'), ('m', '1', 'l')]


    def search_the_tupple(t_lib, s_list):
    return set(t_lib).intersection(set(s_list))


    print(search_the_tupple(tuple_library, search_list))
    这是假设您希望保留元组的顺序。 (这样会出现 ('m', '1', 'l'),但不会出现 ('m', 'l', '1')
    仅供引用:做不做无所谓 t_lib.intersection(s_list)或者反过来。

    关于python - 在一个非常大的列表中找到一个很大的元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66762460/

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