วิธีค้นหาองค์ประกอบในรายการหลาม

How Find Element Python List



Python มีประเภทข้อมูลที่แตกต่างกันเพื่อจัดเก็บการรวบรวมข้อมูล รายการ Python เป็นหนึ่งในนั้นและรายการสามารถมีข้อมูลประเภทต่างๆ เช่น ตัวเลข สตริง บูลีน เป็นต้น บางครั้งอาจจำเป็นต้องค้นหาองค์ประกอบเฉพาะในรายการ สามารถค้นหาองค์ประกอบในรายการหลามได้หลายวิธี วิธีค้นหาองค์ประกอบและรายการองค์ประกอบในรายการมีคำอธิบายในบทช่วยสอนนี้โดยใช้ตัวอย่างต่างๆ

ตัวอย่างที่ 1: ค้นหาองค์ประกอบเดียวในรายการโดยใช้ ' ใน' โอเปอเรเตอร์

สคริปต์ต่อไปนี้แสดงให้เห็นว่าคุณสามารถค้นหาองค์ประกอบใด ๆ ในรายการได้อย่างง่ายดายโดยใช้ ' ใน' โอเปอเรเตอร์โดยไม่ต้องใช้ลูปใด ๆ รายชื่อดอกไม้ถูกกำหนดไว้ในสคริปต์และชื่อดอกไม้จะถูกนำมาเป็นอินพุตจากผู้ใช้เพื่อค้นหาในรายการ หากใช้คำสั่งกับ 'ใน' โอเปอเรเตอร์เพื่อค้นหาชื่อดอกไม้ที่ป้อนในรายการ







#!/usr/bin/env python3
#กำหนดรายชื่อดอกไม้
รายการดอกไม้= ['ดอกกุหลาบ', 'แดฟโฟดิล', 'ทานตะวัน', 'ป๊อปปี้', 'บลูเบลล์']

#ระบุชื่อดอกไม้ที่ต้องการค้นหาในรายการ
ชื่อดอกไม้= ป้อนข้อมูล('ป้อนชื่อดอกไม้:')

# ค้นหาองค์ประกอบโดยใช้ตัวดำเนินการ 'ใน'
ถ้าชื่อดอกไม้.ต่ำกว่า() ในรายการดอกไม้:

#พิมพ์ข้อความความสำเร็จ
พิมพ์('พบ %s ในรายการ'%(ชื่อดอกไม้))
อื่น:

# พิมพ์ไม่พบข้อความ
พิมพ์('%s ไม่พบในรายการ'%(ชื่อดอกไม้))

เอาท์พุท:



ผลลัพธ์แสดงให้เห็น ดอกแดฟโฟดิล มีอยู่ในรายการและ ลิลลี่ ไม่มีอยู่ในรายการ







ตัวอย่างที่ 2: ค้นหาองค์ประกอบโดยใช้วิธีดัชนี

อีกวิธีง่ายๆ ในการค้นหาองค์ประกอบเฉพาะในรายการโดยใช้วิธีดัชนี สคริปต์ต่อไปนี้แสดงการใช้ ดัชนี() วิธีค้นหาองค์ประกอบในรายการ เมธอดนี้ส่งคืนตำแหน่งดัชนีที่ถูกต้องหากพบองค์ประกอบเฉพาะในรายการ มิฉะนั้นจะสร้าง ValueError หากคุณต้องการเก็บตำแหน่งในตัวแปร ความพยายาม บล็อกจะพิมพ์ข้อความแสดงความสำเร็จหาก ดัชนี() วิธีคืนค่าตำแหน่งที่ถูกต้องตามค่าการค้นหา ข้อยกเว้น block จะพิมพ์ข้อความแสดงความล้มเหลวหากไม่มีองค์ประกอบการค้นหาอยู่ในรายการ

#!/usr/bin/env python3
ลอง:
#กำหนดรายชื่อหนังสือ
รายการหนังสือ= ['แมวนั้นอยู่ในหมวก', 'แฮโรลด์และดินสอสีม่วง',
'หนอนผีเสื้อหิวมาก', 'กู๊ดไนท์ มูน', 'แฮโรลด์และดินสอสีม่วง']

#ระบุชื่อหนังสือที่ต้องการค้นหาในรายการ
bookName= ป้อนข้อมูล('ป้อนชื่อหนังสือ:')
# ค้นหาองค์ประกอบโดยใช้วิธีดัชนี
search_pos= int(รายการหนังสือ.ดัชนี(bookName))

# พิมพ์พบข้อความ
พิมพ์('พบหนังสือ %s ในรายการ'%(bookName))
ยกเว้น(ValueError):
# พิมพ์ไม่พบข้อความ
พิมพ์('ไม่พบหนังสือ %s ในรายการ'%(bookName))

เอาท์พุท:



ผลลัพธ์แสดง ' ราตรีสวัสดิ์ มูน' มีอยู่ในรายการและ 'ชาลีและโรงงานช็อกโกแลต' ไม่มีอยู่ในรายการ

ตัวอย่างที่ 3: ค้นหาดัชนีหลายตัวในรายการ

วิธีค้นหาองค์ประกอบเดียวในรายการจะแสดงในสองตัวอย่างก่อนหน้า สคริปต์ต่อไปนี้แสดงวิธีที่คุณสามารถค้นหาองค์ประกอบทั้งหมดของรายการภายในรายการอื่น สามรายการที่ใช้ในสคริปต์นี้ รายการที่เลือก เป็นรายการหลักที่องค์ประกอบของ ค้นหารายการ จะถูกค้นหา พบรายการ ใช้ที่นี่เพื่อเก็บองค์ประกอบเหล่านั้นที่พบใน รายการที่เลือก หลังจากค้นหา ครั้งแรก สำหรับ วงถูกใช้เพื่อสร้าง พบรายการ และที่สอง สำหรับ วนซ้ำใช้เพื่อวนซ้ำ พบรายการ และแสดงผลออกมา

#!/usr/bin/env python3
#กำหนดรายชื่อผู้ที่ได้รับการคัดเลือก
รายการที่เลือก= ['โซเฟีย', 'อิซาเบลลา', 'โอลิเวีย', 'อเล็กเซนดรา', 'สวย']
#กำหนดรายชื่อผู้ค้นหา
ค้นหารายการ= ['โอลิเวีย', 'โคลอี้','อเล็กเซนดรา']
# กำหนดรายการที่ว่างเปล่า
พบรายการ= []

# ทำซ้ำแต่ละองค์ประกอบจากรายการที่เลือก
สำหรับดัชนี,sListใน จดทะเบียน(รายการที่เลือก):
# จับคู่องค์ประกอบกับองค์ประกอบของ searchList
ถ้าsListในค้นหารายการ:
# เก็บค่าใน foundList หากพบที่ตรงกัน
พบรายการผนวก(รายการที่เลือก[ดัชนี])

# ทำซ้ำรายการค้นหา
สำหรับชั่วโมงในค้นหารายการ:
# ตรวจสอบค่าที่มีอยู่ใน foundList หรือไม่
ถ้าชั่วโมงในพบรายการ:
พิมพ์(เลือก '%s แล้วNS'% ชั่วโมง)
อื่น:
พิมพ์(ไม่ได้เลือก %sNS'% ชั่วโมง)

เอาท์พุท:

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากเรียกใช้คำ

ตัวอย่างที่ 4: ค้นหาองค์ประกอบโดยใช้ฟังก์ชันที่กำหนดเอง

หากคุณต้องการค้นหาองค์ประกอบหลายครั้งในรายการ ควรใช้วิธีการค้นหาแบบกำหนดเองแทนการเขียนสคริปต์การค้นหาหลายครั้ง สคริปต์ต่อไปนี้แสดงวิธีที่คุณสามารถค้นหาค่าใด ๆ ในรายการโดยใช้ฟังก์ชันแบบกำหนดเองที่ชื่อว่า findElement . ฟังก์ชั่นจะกลับมา จริง หากรายการมีองค์ประกอบการค้นหามิฉะนั้นจะส่งคืน เท็จ .

#!/usr/bin/env python3
#กำหนดรายการอาหาร
อาหาร= ['พิซซ่า', 'เค้ก', 'สตรอเบอร์รี่', 'ช็อคโกแลต','ไก่ทอด','มะม่วง']
#รับชื่ออาหารจากผู้ใช้
ค้นหา= ป้อนข้อมูล('พิมพ์อาหารที่ชอบ : ')

# กำหนดฟังก์ชั่นที่กำหนดเองเพื่อค้นหาองค์ประกอบในรายการ
deffindElement(รายชื่อ,ค้นหาองค์ประกอบ):
# อ่านรายการโดยใช้ loop
สำหรับค่าในรายชื่อ:
#ตรวจสอบค่าองค์ประกอบเท่ากับค่าค้นหาหรือไม่
ถ้าค่า==ค้นหาองค์ประกอบ:
กลับ จริง

# คืนค่าเท็จหากไม่พบการจับคู่
กลับ เท็จ

# เรียกใช้ฟังก์ชันด้วยชื่อรายการและค่าการค้นหา
ถ้าfindElement(อาหาร,ค้นหา.ต่ำกว่า()):
พิมพ์('พบ %s แล้ว'%ค้นหา)
อื่น:
พิมพ์('ไม่พบ %s'%ค้นหา)

เอาท์พุท:

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นสำหรับอินพุต 'เค้ก' และ 'เค้กช็อคโกแลต' .

ตัวอย่างที่ 5: ค้นหาและนับองค์ประกอบในรายการตามความยาว

สคริปต์ต่อไปนี้แสดงวิธีที่คุณสามารถค้นหาและนับจำนวนองค์ประกอบในรายการตามความยาวขององค์ประกอบ ที่นี่รายการชื่อ บุคคล กำลังทำซ้ำโดยใช้ สำหรับ วนซ้ำและตรวจสอบความยาวของแต่ละองค์ประกอบของรายการ ค่าตัวนับจะเพิ่มขึ้นหากความยาวขององค์ประกอบมากกว่าหรือเท่ากับ 7

#!/usr/bin/env python3
#กำหนดรายชื่อบุคคล
บุคคล= ['โซเฟีย', 'อิซาเบลลา', 'โอลิเวีย', 'อเล็กเซนดรา', 'สวย']

#เริ่มต้นเคาน์เตอร์
เคาน์เตอร์= 0
# วนซ้ำรายการโดยใช้ลูป
สำหรับชื่อในบุคคล:
# ตรวจสอบความยาวขององค์ประกอบ
ถ้า (เลน(ชื่อ) > = 7):
# เพิ่มตัวนับทีละหนึ่ง
เคาน์เตอร์=เคาน์เตอร์ +1

#ตรวจสอบค่าตัวนับ
ถ้า (เคาน์เตอร์> 0):
พิมพ์('%d คนชื่อยาว/มากกว่า 7'%เคาน์เตอร์)
อื่น:
พิมพ์('ความยาวของชื่อบุคคลทั้งหมดน้อยกว่า 7')

เอาท์พุท:

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

บทสรุป:

วิธีต่างๆ ในการค้นหาองค์ประกอบเดียวและหลายรายการในรายการจะแสดงในบทช่วยสอนนี้โดยใช้ ใน โอเปอเรเตอร์, ดัชนี วิธีการและฟังก์ชันที่กำหนดเอง ผู้อ่านจะสามารถค้นหาได้อย่างถูกต้องในรายการหลามหลังจากอ่านบทช่วยสอนนี้

ดูวิดีโอของผู้เขียน: ที่นี่