python - 在另一个列表python中搜索列表项的最佳方法?

标签 python python-3.x list performance search

我有一个长度为 32683 的列表,我必须在另一个长度为 2905 的列表中搜索该列表的项目,我是这样写的:

for item in phone_register_users:
    if item not in service_users_ids:
       counter += 1

(phone_register_users 的长度为 32683,service_users_ids 的长度为 2905) 但大约需要 14 秒才能完成,这太多了,我该如何改进?

最佳答案

您可以使用设置:

set1 = set(phone_user_register_list1)
set2 = set(services_user_ids_list2)
unq = set1.intersection(set2)

从交集,您可以获取电话用户注册和服务用户 ID 两者的元素列表。

因此,要对电话寄存器中但不在服务用户 ID 中的元素进行计数器,请使用:

counter = len(phone_register_user)-len(unq)

关于python - 在另一个列表python中搜索列表项的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59151930/

相关文章:

python - 通过计算其他两列之间的天数的函数创建新的结果列

Python 数值积分与辛普森规则

python - 难以理解递归

python - 根据以下条件,我如何用零和一填充我的第二个列表?

list - 如何在 emacs 中使用 defvar 构建列表

python - 为什么 PEP 3107(或 484)不包含注释全局/局部变量的语法?

python - 使用解析将 ** 运算符更改为幂函数?

python - 字典创建说明

python - 按列表选择列(列是列表的子集)

perl - 如何根据扩展名过滤文件名?