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
- 用Python實現一個大資料搜尋引擎Python大資料
- 二叉樹的插入和搜尋–python實現二叉樹Python
- python如何表示無窮大Python
- python如何表示無窮小Python
- 如何用Redis實現搜尋介面Redis
- python 寫的搜尋引擎Python
- A*搜尋演算法(python)演算法Python
- 如何使用Python實現FTP伺服器?Python學習教程PythonFTP伺服器
- python 手把手教你基於搜尋引擎實現文章查重Python
- 隱含波動率模型-增量搜尋演算法-python實現模型演算法Python
- 窮舉法解決0/1揹包問題——pythonPython
- python如何實現簡單的爬蟲功能?Python學習教程!Python爬蟲
- python 寫的搜尋引擎 - 原始碼Python原始碼
- Python教程:將有序陣列轉換為二叉搜尋樹Python陣列
- Python之 常用查詢演算法:最小項搜尋、順序搜尋、二分搜尋Python演算法
- [Python手撕]搜尋二維矩陣Python矩陣
- 搜狗搜尋微信Python爬蟲案例Python爬蟲
- Elasticsearch 實現簡單搜尋Elasticsearch
- Laravel + Elasticsearch 實現中文搜尋LaravelElasticsearch
- Jquery + Bootstrap 實現搜尋框jQueryboot
- 如何在 Java 中實現二叉搜尋樹Java
- python 二叉樹深度優先搜尋和廣度優先搜尋Python二叉樹
- Python 圖_系列之基於<連結表>實現無向圖最短路徑搜尋Python
- Safari教程:如何快速回到搜尋結果
- 004.01 不同 Python 資料型別的搜尋Python資料型別
- Sunday搜尋演算法實現演算法
- elasticsearch實現基於拼音搜尋Elasticsearch
- laravel8實現ES搜尋Laravel
- Python教程:空值、無窮值判斷之isna、isnull、isfinitePythonNull
- 【譯】如何實現一個現代化電子商城搜尋?(一)
- Elasticsearch搜尋功能的實現(五)-- 實戰Elasticsearch
- bt引擎-螞蟻磁力搜尋教程大全,如何使用搜尋引擎查詢磁力連結
- 給大家分享一個 python 做的搜尋引擎Python
- python之Numpy 排序搜尋計數及集合操作Python排序
- [Python手撕]不同的二叉搜尋樹Python