我有一个包含嵌套列表的列表,我需要知道在这些嵌套列表中搜索的最有效方法。
例如,如果我有
[['a','b','c'],
['d','e','f']]
并且我必须搜索上面的整个列表,找到“ d”的最有效方法是什么?
使用列表推导,给出:
mylist = [['a','b','c'],['d','e','f']]
'd' in [j for i in mylist for j in i]
产量:
True
这也可以使用生成器来完成(如@AshwiniChaudhary所示)
根据以下评论进行更新:
这是相同的列表理解,但是使用了更具描述性的变量名:
'd' in [elem for sublist in mylist for elem in sublist]
列表理解部分中的循环构造等效于
for sublist in mylist:
for elem in sublist
并生成一个列表,供in
操作员在其中测试“ d” 。
问题内容: -我只是解析了一个大文件,然后创建了一个包含42.000个字符串/单词的列表。我想查询[针对此列表]以检查给定的单词/字符串是否属于它。所以我的问题是: 进行查找的最有效方法是什么? 第一种方法是对列表()进行排序,然后使用 这确实是微不足道的,我相信有更好的方法可以做到。我的目标是应用快速查找来查找给定字符串是否在此列表中。如果您对其他数据结构有任何想法,欢迎使用。但是,我现在想避免
问题内容: 当您执行类似列表在哪里的操作时,python会在列表上进行顺序搜索吗?还是创建哈希表表示来优化查找?在应用程序中,我需要这样做,因为我将在列表上进行很多查找,所以最好先执行诸如此类的操作,然后执行?还要注意,我将拥有的值列表将没有重复的数据,而且我实际上并不在乎它的顺序。我只需要能够检查值的存在。 问题答案: 还要注意,我将拥有的值列表将没有重复的数据,而且我实际上并不在乎它的顺序
问题内容: 我之前已经找到了解决方案,但是我想知道最快的解决方案是将包含其他任意长度列表的列表展平。 例如: 会成为: 可以有无限多个级别。一些列表对象可以是字符串,在输出列表中不得将其展平为它们的顺序字符。 问题答案: 这是一种字符串友好的递归方法: 返回: 请注意,这并不能保证速度或开销的使用,但是说明了一种递归解决方案,希望会对您有所帮助。
问题内容: 我想问一下在两个日期之间搜索数据的最有效(最快)方法是什么? 让我们考虑以下简单查询: “ Date_”列是DATETIME类型。 我尝试了不同的选择,例如: 和 和 实际上,此Select查询要复杂得多(具有联接和更多条件)。这只是简化版本。根据EXPLAIN,查询的执行方式没有区别。我需要说Date_列已建立索引。不幸的是,我无法测试实际的查询速度,因为我无法避免操作系统缓存,但是
问题内容: 我需要搜索CLOB列,并正在寻找实现此目的的最佳方法,我在线上看到了使用DBMS_LOB软件包以及使用称为Oracle Text的变体的方法。有人可以提供一个有关如何执行此操作的快速示例吗? 问题答案: Oracle Text索引是必经之路。您可以使用CONTEXT或CTXRULE索引。CONTEXT可以用于非结构化文档,而CTXRULE在结构化文档上更有用。 该链接将提供有关索引类型
问题内容: 我有一个数据库,其中有75,000+行,每天添加500多个条目。 每行都有标题和描述。 我创建了一个RSS feed,为您提供了特定搜索词的最新条目(例如,http://site.com/rss.rss?q = Pizza将为搜索词“ Pizza”输出RSS)。 我想知道什么是为此编写SQL查询的最佳方法。现在我有: 但是问题是执行查询需要2到10秒。 有没有更好的方法来编写查询,我是