find() และ index() นั้นจะเป็นฟังก์ชั่นทำหน้าที่ค้นหาตำแหน่ง String ว่าอยู่ที่จุดใด โดยหากเป็นจริง ฟังก์ชั่นจะคืนค่าออกมาเป็นตำแหน่งของ string ตัวนั้น แต่หากเป็นเท็จจะคืนค่าออกมาเป็น -1
Ex.1 หาค่าจากข้อความ "Enjoys doing Python in Mindphp.com" โดยกำหนดดังตัวอย่าง
โค้ด: เลือกทั้งหมด
str = "Enjoys doing Python in Mindphp.com"
print "Result : Function find() =",str.find("in")
print "Result : Function index() =",str.index("ind")
Output 1
- Find_1.png (24.5 KiB) Viewed 3666 times
จากรูป Output 1 ลองพิจารณาดูนะครับระหว่าง str.find("in") กับ str.index การทำงานของสองฟังก์ชั่นนี่ทำงานเหมือนกันนะครับโดยขออธิบายเพิ่มเติม
ในตัวอย่างนี้จะสังเกตุว่ามีคำว่า "in" 3 ตำแหน่งคือ "doing" "in" "mindphp" เห็นไหมครับทั้งสามคำนี้มีคำว่า "in" อยู่ภายใน
*ในกรณีของ str.find ("in") เหตุผลว่าทำไมถึงได้ผลลัพท์ = 9
>>>เพราะในระบบมันจะหาตัว"in"ที่ใกล้ที่สุดในกลุ่มข้อความนั้นจากซ้ายไปขวาซึ่งตัว "in"ที่ใกล้ที่สุดคือ "in" ที่อยู่ภายใน"doing" (การนับตำแหน่งจะเริ่มจาก 0 และนับการเว้นวรรคด้วย โดยจะนับตัวอักษรตัวแรกที่เราค้นหา ในที่นี้เราหาคำว่า "in" ตัวอักษรตัวแรกคือ "i")
*ทีนี้มาดูในส่วนของ str.index("ind") เหตุผลว่าทำไมถึงได้ผลลัพท์ = 24
>>>ระบบจะหาคำว่า "ind" ที่มีอยู่ในประโยคก็คือ "Mindphp" โดย ind จะอยู่ที่ตำแหน่งที่ 24 (นับจากเหมือนกันแต่ผลลัพท์ต่างกันเพราะเรากำหนดเป็น "ind")
ความแตกต่างของ find() และ index()
-การแสดงค่าและหน้าที่จะคล้ายๆกันครับ แต่ว่าพอเวลาข้อมูลเป็นเท็จ (ไม่มีข้อความอยู่ในระบบที่หนด) เช่นเรากำหนดให้หา
Ex2. ลองเปลี่ยนจาก "in" และ "ind" เป็น "In" และ"Ind"
โค้ด: เลือกทั้งหมด
str = "Enjoys doing Python in Mindphp.com"
print "Result : Function find() =",str.find("In")
print "Result : Function index() =",str.index("Ind")
Output 2
- Find_2.png (28.85 KiB) Viewed 3666 times
จะสังเกตุได้ว่า "In" และ "Ind" ข้อมูลเป็นเท็จเพราะเนื่องจากภาษาPythonนั้นซีเรียสกับตัวอักษรพิมเล็ก และพิมใหญ่จึงทำให้คำว่า "In" และ "Ind" ("I" พิมใหญ่)แสดงผลเป็นเท็จ โดยใน find() เมื่อเป็นเท็จจะแสดงค่าเป็น-1 แต่ index() เมื่อเป็นเท็จจะแสดงค่าว่างและขึ้น error
find() และ index() นั้นจะเป็นฟังก์ชั่นทำหน้าที่ค้นหาตำแหน่ง String ว่าอยู่ที่จุดใด โดยหากเป็นจริง ฟังก์ชั่นจะคืนค่าออกมาเป็นตำแหน่งของ string ตัวนั้น แต่หากเป็นเท็จจะคืนค่าออกมาเป็น -1
[b]Ex.1[/b] หาค่าจากข้อความ "Enjoys doing Python in Mindphp.com" โดยกำหนดดังตัวอย่าง
[code]str = "Enjoys doing Python in Mindphp.com"
print "Result : Function find() =",str.find("in")
print "Result : Function index() =",str.index("ind")[/code]
[b]Output 1[/b]
[attachment=1]Find_1.png[/attachment]
จากรูป Output 1 ลองพิจารณาดูนะครับระหว่าง str.find("in") กับ str.index การทำงานของสองฟังก์ชั่นนี่ทำงานเหมือนกันนะครับโดยขออธิบายเพิ่มเติม
ในตัวอย่างนี้จะสังเกตุว่ามีคำว่า "in" 3 ตำแหน่งคือ "doing" "in" "mindphp" เห็นไหมครับทั้งสามคำนี้มีคำว่า "in" อยู่ภายใน
*ในกรณีของ str.find ("in") เหตุผลว่าทำไมถึงได้ผลลัพท์ = 9
>>>เพราะในระบบมันจะหาตัว"in"ที่ใกล้ที่สุดในกลุ่มข้อความนั้นจากซ้ายไปขวาซึ่งตัว "in"ที่ใกล้ที่สุดคือ "in" ที่อยู่ภายใน"doing" (การนับตำแหน่งจะเริ่มจาก 0 และนับการเว้นวรรคด้วย โดยจะนับตัวอักษรตัวแรกที่เราค้นหา ในที่นี้เราหาคำว่า "in" ตัวอักษรตัวแรกคือ "i")
*ทีนี้มาดูในส่วนของ str.index("ind") เหตุผลว่าทำไมถึงได้ผลลัพท์ = 24
>>>ระบบจะหาคำว่า "ind" ที่มีอยู่ในประโยคก็คือ "Mindphp" โดย ind จะอยู่ที่ตำแหน่งที่ 24 (นับจากเหมือนกันแต่ผลลัพท์ต่างกันเพราะเรากำหนดเป็น "ind")
ความแตกต่างของ find() และ index()
-การแสดงค่าและหน้าที่จะคล้ายๆกันครับ แต่ว่าพอเวลาข้อมูลเป็นเท็จ (ไม่มีข้อความอยู่ในระบบที่หนด) เช่นเรากำหนดให้หา
[b]Ex2.[/b] ลองเปลี่ยนจาก "in" และ "ind" เป็น "In" และ"Ind"
[code]str = "Enjoys doing Python in Mindphp.com"
print "Result : Function find() =",str.find("In")
print "Result : Function index() =",str.index("Ind")[/code]
[b]Output 2[/b]
[attachment=0]Find_2.png[/attachment]
จะสังเกตุได้ว่า "In" และ "Ind" ข้อมูลเป็นเท็จเพราะเนื่องจากภาษาPythonนั้นซีเรียสกับตัวอักษรพิมเล็ก และพิมใหญ่จึงทำให้คำว่า "In" และ "Ind" ("I" พิมใหญ่)แสดงผลเป็นเท็จ โดยใน find() เมื่อเป็นเท็จจะแสดงค่าเป็น-1 แต่ index() เมื่อเป็นเท็จจะแสดงค่าว่างและขึ้น error