Python教程: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/31548651/viewspace-2774924/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python如何實現窮舉搜尋?Python
- 二叉搜尋樹的python實現Python
- 圖的廣度優先搜尋和深度優先搜尋Python實現Python
- 實現24點遊戲-窮舉法遊戲
- 用Python實現一個大資料搜尋引擎Python大資料
- 二叉樹的插入和搜尋–python實現二叉樹Python
- 用 Python 實現一個大資料搜尋引擎Python大資料
- 如何用Redis實現搜尋介面Redis
- python如何表示無窮小Python
- python如何表示無窮大Python
- python 寫的搜尋引擎Python
- A*搜尋演算法(python)演算法Python
- 窮舉法解決0/1揹包問題——pythonPython
- 隱含波動率模型-增量搜尋演算法-python實現模型演算法Python
- python 手把手教你基於搜尋引擎實現文章查重Python
- Python資料結構——二叉搜尋樹的實現(上)Python資料結構
- python抓取google搜尋結果PythonGo
- 如何使用Python實現FTP伺服器?Python學習教程PythonFTP伺服器
- python如何實現簡單的爬蟲功能?Python學習教程!Python爬蟲
- python 寫的搜尋引擎 - 原始碼Python原始碼
- 搜狗搜尋微信Python爬蟲案例Python爬蟲
- Python之 常用查詢演算法:最小項搜尋、順序搜尋、二分搜尋Python演算法
- Laravel + Elasticsearch 實現中文搜尋LaravelElasticsearch
- Elasticsearch 實現簡單搜尋Elasticsearch
- Jquery + Bootstrap 實現搜尋框jQueryboot
- PHP實現搜尋附近的人PHP
- 實現延遲搜尋功能
- Python教程:將有序陣列轉換為二叉搜尋樹Python陣列
- 如何在 Java 中實現二叉搜尋樹Java
- [python]python環境變數以及模組搜尋路徑Python變數
- Safari教程:如何快速回到搜尋結果
- Python爬蟲系列(六):搜尋文件樹Python爬蟲
- [Python手撕]搜尋二維矩陣Python矩陣
- python 二叉樹深度優先搜尋和廣度優先搜尋Python二叉樹
- laravel8實現ES搜尋Laravel
- elasticsearch實現基於拼音搜尋Elasticsearch
- ASP智慧搜尋的實現 (轉)
- 【譯】如何實現一個現代化電子商城搜尋?(一)