Python如何實現窮舉搜尋?
窮舉搜尋就是在整個搜尋空間範圍內嘗試每一種可能性,直到找到目標值或者整個搜尋空間都找完也沒有找到目標值。最常見的窮舉搜尋就是線性搜尋,即按照順序簡單檢查所有不同的可能性。
例如:2個警察追逐強盜到了一個廢棄旅館的二樓走廊,走廊有30道門,全部關閉,其中一個警察已經封鎖了對面的樓梯,該如何找到強盜呢?
第一個解決方案如下:
隨機開啟一扇門,沒有強盜,再隨機開啟一扇門……?
按照以上方法,特警如果運氣好,可能一下就找到了;運氣不好時,可能有的門找了很多遍,有的門呢一次都沒找。這樣就有可能出現遺漏和重複,反而找不到需要的資訊。處理這種搜尋空間不是很大的情況下最佳的就是窮舉搜尋。
第二個解決方案搜尋整個樓層,把所有門開啟
如何用程式碼實現,如下:
透過index實現:
listdata=[1,2,3,4,5,6]
x=3
i=listdata.index(x)
if(i>=0 and i<len(listdata)):< p="">
print(x,'is in data')
else:
print('{}is not in list'.format(x))
#異常處理
try:
i=listdata.index(x)
except ValueError:
print('{}is not in list'.format(x))
else:
if(i>=0 and i<len(listdata)):< p="">
print(x,'is in data')
透過in判斷:
listdata=[1,2,3,4,5,6]
x=3
if(x in listdata):
print('1:',x,'is in data')
else:
print('1:{}is not in list'.format(x))
當然程式碼的方式肯定不止以上兩種,而正規表示式解決的是很多複雜的匹配,比如查詢所有以‘a’開頭的,或者找所有包含3個數字的這種更一般性的問題用正規表示式是更方便的。也可以使用迴圈實現窮舉搜尋。當然,Python中的list自己就有許多函式可以實現查詢。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69996644/viewspace-2768004/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python教程:Python如何實現窮舉搜尋?Python
- 如何用Redis實現搜尋介面Redis
- 二叉搜尋樹的python實現Python
- 圖的廣度優先搜尋和深度優先搜尋Python實現Python
- 用Python實現一個大資料搜尋引擎Python大資料
- 二叉樹的插入和搜尋–python實現二叉樹Python
- Elasticsearch 實現簡單搜尋Elasticsearch
- Laravel + Elasticsearch 實現中文搜尋LaravelElasticsearch
- Jquery + Bootstrap 實現搜尋框jQueryboot
- 如何在 Java 中實現二叉搜尋樹Java
- Sunday搜尋演算法實現演算法
- elasticsearch實現基於拼音搜尋Elasticsearch
- laravel8實現ES搜尋Laravel
- 【譯】如何實現一個現代化電子商城搜尋?(一)
- Elasticsearch搜尋功能的實現(五)-- 實戰Elasticsearch
- Redis 實戰 —— 10. 實現內容搜尋、定向廣告和職位搜尋Redis
- python 手把手教你基於搜尋引擎實現文章查重Python
- 隱含波動率模型-增量搜尋演算法-python實現模型演算法Python
- BM搜尋演算法C實現演算法
- 基於Elasticsearch實現搜尋建議Elasticsearch
- Java實現 LeetCode 35 搜尋插入位置JavaLeetCode
- javascript實現二叉搜尋樹JavaScript
- 使用 Laravel Scout + ElasticSearch 實現全文搜尋LaravelElasticsearch
- CSS 實現搜尋相關互動CSS
- 如何使用QCompleter和QLineEdit實現支援模糊匹配的搜尋欄
- 搜參,序列生成,最佳化方法——窮舉,greedy search,beamsearch,bayessearch, viterbisearchViterbi
- vue2實現搜尋結果中的搜尋關鍵字高亮Vue
- 海量資料搜尋---demo展示百度、谷歌搜尋引擎的實現谷歌
- python如何表示無窮大Python
- python如何表示無窮小Python
- 【搜尋引擎】 PostgreSQL 10 實時全文檢索和分詞、相似搜尋、模糊匹配實現類似Google搜尋自動提示SQL分詞Go
- 窮舉法解決0/1揹包問題——pythonPython
- python 寫的搜尋引擎Python
- A*搜尋演算法(python)演算法Python
- 如何在Java中實現二叉搜尋樹( binary search tree)?Java
- Angular6-Filter實現頁面搜尋AngularFilter
- DjangoRestFramework 實現分頁功能與搜尋功能DjangoRESTFramework
- 原生javascript實現的選取搜尋元件JavaScript元件