加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python如何处理’如果列表中的对象’的检查

发布时间:2020-12-20 12:39:51 所属栏目:Python 来源:网络整理
导读:我想知道因为我需要有一个令人厌恶的功能,检查一个单词是否在字典列表中 – 我正在考虑将字典保留为一个大字符串并反而运行正则表达式.这需要非常快.所以我只需要一个基本的概述,即 python如何处理检查字符串是否在字符串列表中,以及它是否超出合理的速度.
我想知道因为我需要有一个令人厌恶的功能,检查一个单词是否在字典列表中 – 我正在考虑将字典保留为一个大字符串并反而运行正则表达式.这需要非常快.所以我只需要一个基本的概述,即 python如何处理检查字符串是否在字符串列表中,以及它是否超出合理的速度.

解决方法

如果你想要一个超快速的成员资格测试,那么列表就是错误的数据结构.看一下 listobject.c,line 437中list_contains的实现.它按顺序迭代列表,依次比较项目和每个元素.项目出现在列表中的时间越晚,查找项目所需的时间越长,如果项目丢失,则必须扫描整个列表.

请改用set.集合由散列表在内部实现,因此查找对象涉及计算其散列,然后扫描一些表条目(通常只有一个).有关查找字符串的特定情况,请参阅setobject.c,line 156中的set_lookkey_string.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读