تابع find در پایتون
تابع find در پایتون برای پیدا کردن موقعیت یک رشته در رشتهی دیگر استفاده میشود. این تابع به صورت یک متد در کلاس نوع دادهی رشته در پایتون تعریف شده است و به صورت زیر میتوانید فراخوانی کنید.
برای جستجو در رشته ها میتوانید از تابع find در پایتون به صورت زیر استفاده کنید
string.find(value, start,end)
- value: زیر رشتهای که در رشتهی string جست و جو خواهد شد.
- start: اندیس شروع جست و جو در رشتهی string
- end: اندیس پایان جست و جو
value یک پارامتر اجباری است ولی start و end اختیاری هستند. اگر start و end را به تابع پاس ندهیم تابع find جست و جو را در سراسر رشته انجام میدهد.
[amir@arch ~]$ python
Python 3.10.8 (main, Nov 1 2022, 14:18:21) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> txt = 'hello, welcome to my world'
>>> x = txt.find('welcome')
>>> print(x)
۷
- اگر زیر رشتهای که تابع find دریافت میکند در رشتهی مورد نظر موجود باشد اندیس اولین رخ داد را بر میگرداند
- اگر رشتهی دریافتی را در رشتهی مورد نظر پیدا نکند -۱ برمیگرداند.
- تابع find همانند تابع index است با این تفاوت که اگر تابع index رشتهی دریافتی را در رشتهی مورد نظر پیدا نکند یک استثنا رخ میدهد.
در مثال زیر تابع find رشتهی ‘e’ را در رشته txt جست و جو میکند و با توجه به این که اولین رخ داد رشتهی ‘e’ در دومین اندیس رشتهی txt است تابع find عدد یک بر میگرداند. (اندیس رشتهها در پایتون از ۰ شروع میشود.)
>>> txt = 'hello, welcome to my world.'
>>> x = txt.find('e')
>>> print(x)
۱
در این مثال با توجه به اینکه آرگومانهای start و end به تابع پاس داده نشده تابع عمل جست و جو را از اول تا آخر رشتهی txt انجام میدهد
>>> txt = 'hello, welcome to my world.'
>>> x = txt.find('e', 5 , 10)
>>> print(x)
۸
در تکه کد فوق عمل جست و جو از کاراکتر پنجم تا دهم رشتهی txt انجام شده است. لذا اولین رخداد در هشتمین کاراکتر رشتهی txt است.
>>> txt = 'hello, welcome to my world.'
>>> x = txt.find('q')
>>> print(x)
-۱
در تکه کد فوق چون رشتهی ‘q’ در رشتهی txt پیدا نشده است لذا مقدار برگشتی تابع find منفی یک است.
بیشتر بخوانید: