Jawaban:
>>> s = "the dude is a cool dude"
>>> s.find('dude')
4
isdari kalimat tersebut this is a cool dude? Saya mencoba metode find tetapi mengembalikan indeks 2, bukan 5. Bagaimana cara mencapai ini menggunakan find ()?
indexdanfindDi samping findmetode ada juga index. finddan indexkeduanya menghasilkan hasil yang sama: mengembalikan posisi kejadian pertama, tetapi jika tidak ada yang ditemukan indexakan meningkatkan pengembalian ValueErrorsementara . Secara speedwise, keduanya memiliki hasil benchmark yang sama.find-1
s.find(t) #returns: -1, or index where t starts in s
s.index(t) #returns: Same as find, but raises ValueError if t is not in s
rfinddan rindex:Secara umum, temukan dan indeks mengembalikan indeks terkecil tempat string yang diteruskan dimulai, dan
rfinddanrindexmengembalikan indeks terbesar tempat dimulai. Sebagian besar algoritme pencarian string mencari dari kiri ke kanan , sehingga fungsi yang dimulai denganrmenunjukkan bahwa pencarian terjadi dari kanan ke kiri .
Jadi jika kemungkinan elemen yang Anda cari mendekati akhir daripada di awal daftar, rfindatau rindexakan lebih cepat.
s.rfind(t) #returns: Same as find, but searched right to left
s.rindex(t) #returns: Same as index, but searches right to left
Sumber: Python: Panduan Memulai Cepat Visual, Toby Donaldson
input_string = "this is a sentence"dan jika kita ingin menemukan kemunculan pertama dari kata tersebut is, apakah itu akan berhasil? # first occurence of word in a sentence input_string = "this is a sentence" # return the index of the word matching_word = "is" input_string.find("is")
untuk mengimplementasikan ini dengan cara algoritmik, dengan tidak menggunakan fungsi bawaan python. Ini dapat diimplementasikan sebagai
def find_pos(string,word):
for i in range(len(string) - len(word)+1):
if string[i:i+len(word)] == word:
return i
return 'Not Found'
string = "the dude is a cool dude"
word = 'dude1'
print(find_pos(string,word))
# output 4
def find_pos(chaine,x):
for i in range(len(chaine)):
if chaine[i] ==x :
return 'yes',i
return 'no'
verse = "Jika kamu bisa menjaga kepalamu ketika semua tentang kamu \ n Kehilangan pikiran mereka dan menyalahkanmu, \ nJika kamu dapat mempercayai dirimu sendiri ketika semua orang meragukanmu, \ n Tapi berikan kelonggaran atas keraguan mereka juga; \ nJika kamu bisa menunggu dan jangan lelah dengan menunggu, \ n Atau dibohongi, jangan berbohong, \ nAtau dibenci, jangan menyerah pada kebencian, \ n Namun jangan terlihat terlalu baik, atau bicara terlalu bijak : "
enter code here
print(verse)
#1. What is the length of the string variable verse?
verse_length = len(verse)
print("The length of verse is: {}".format(verse_length))
#2. What is the index of the first occurrence of the word 'and' in verse?
index = verse.find("and")
print("The index of the word 'and' in verse is {}".format(index))
-1jika tidak ditemukan