পুরো শব্দটি একটি স্থান-বিচ্ছিন্ন শব্দের তালিকায় রয়েছে কিনা তা যদি আপনি জানতে চান তবে কেবল ব্যবহার করুন:
def contains_word(s, w):
return (' ' + w + ' ') in (' ' + s + ' ')
contains_word('the quick brown fox', 'brown') # True
contains_word('the quick brown fox', 'row') # False
এই মার্জিত পদ্ধতিটিও দ্রুততম। হিউ বোথওয়েল এবং ডসংয়ের পদ্ধতির তুলনায়:
>python -m timeit -s "def contains_word(s, w): return (' ' + w + ' ') in (' ' + s + ' ')" "contains_word('the quick brown fox', 'brown')"
1000000 loops, best of 3: 0.351 usec per loop
>python -m timeit -s "import re" -s "def contains_word(s, w): return re.compile(r'\b({0})\b'.format(w), flags=re.IGNORECASE).search(s)" "contains_word('the quick brown fox', 'brown')"
100000 loops, best of 3: 2.38 usec per loop
>python -m timeit -s "def contains_word(s, w): return s.startswith(w + ' ') or s.endswith(' ' + w) or s.find(' ' + w + ' ') != -1" "contains_word('the quick brown fox', 'brown')"
1000000 loops, best of 3: 1.13 usec per loop
সম্পাদনা করুন: পাইথন ৩.+++ এর জন্য এই ধারণার সামান্যতম বৈকল্পিক, সমান দ্রুত:
def contains_word(s, w):
return f' {w} ' in f' {s} '