หนึ่งในประเภทข้อมูลพื้นฐานและหลากหลายใน Python คือรายการ รายการ Python คือชุดของรายการที่เรียงลำดับโดยคั่นด้วยเครื่องหมายจุลภาค รายการหลามสามารถเปลี่ยนแปลงได้ และคุณสามารถเปลี่ยนรายการได้
บทช่วยสอนนี้จะแสดงวิธีสร้างรายการหลามและเสนอวิธีต่างๆ ในการค้นหาค่าสูงสุดภายในรายการ
วิธีสร้างรายการ Python
ให้เราเริ่มต้นด้วยพื้นฐาน: วิธีสร้างรายการ
บันทึก: หากคุณคุ้นเคยกับการสร้างรายการหลามอยู่แล้ว ข้ามไปข้างหน้าได้เลย
ในการสร้างรายการใน Python เราเพิ่มรายการทั้งหมด (คั่นแต่ละรายการด้วยเครื่องหมายจุลภาค) ภายในวงเล็บเหลี่ยม []
รายการในรายการ Python สามารถรองรับข้อมูลประเภทต่างๆ รวมทั้งสตริง จำนวนเต็ม ทศนิยม พจนานุกรม และแม้แต่รายการที่ซ้อนกัน
ตัวอย่างต่อไปนี้สร้างรายการที่เรียกว่า my_list โดยมีรายการต่างๆ อยู่ในนั้น
# เริ่มต้นรายการว่างรายการของฉัน= []
# รายการที่มีจำนวนเต็ม, สตริง, ทุ่น, พจนานุกรมและรายการที่ซ้อนกัน
รายการของฉัน_= [10, 'สวัสดีชาวโลก', 10.1, ['nested_list', {'กุญแจ':'ค่า'}, 10]]
ในรายการแรก เราเริ่มต้นรายการโดยไม่มีรายการใดๆ ต่อไป เราเติมข้อมูลด้วยประเภทข้อมูลต่างๆ รวมทั้งจำนวนเต็ม สตริง ทศนิยม พจนานุกรม และรายการ
วิธีเข้าถึงรายการ
เราสามารถเข้าถึงรายการในรายการโดยใช้วิธีการต่างๆ เพื่อความง่าย เราจะพูดถึงเพียงสองวิธีเท่านั้น
คนแรก:
1: การจัดทำดัชนีอาร์เรย์
ในการเข้าถึงรายการในอาร์เรย์โดยใช้วิธีการสร้างดัชนีอาร์เรย์ เราใช้ตัวดำเนินการดัชนีใน Python ภายในโอเปอเรเตอร์ เราส่งดัชนีที่เราต้องการเข้าถึง
บันทึก: การสร้างดัชนีใน Python เริ่มต้นที่ดัชนี 0 ซึ่งหมายความว่ารายการแรกในรายการจะเป็นดัชนี 0 เสมอ
พิจารณาตัวอย่างด้านล่าง:
db= ['MySQL',
'PostgreSQL',
'SQLite',
'MongoDB',
'มาเรียดีบี',
'เรดิส',
'เซิร์ฟเวอร์ Microsoft SQL',
'ออราเคิล',
'ไฟเบส',
'การค้นหาแบบยืดหยุ่น'
]
ให้เราถือว่ารายการด้านบนมีฐานข้อมูลยอดนิยม ในการค้นหาฐานข้อมูลที่ใช้มากที่สุด เราสามารถใช้ไวยากรณ์:
พิมพ์(db[0])คำสั่งข้างต้นควรส่งคืน MySQL
บันทึก: การเข้าถึงรายการจากดัชนีรายการจะส่งผลให้เกิดข้อผิดพลาดของดัชนี ตัวอย่างเช่น รายการฐานข้อมูลมี 10 รายการ นั่นหมายถึงดัชนีของ 10NSรายการคือ 10 – 1 เนื่องจากดัชนีเริ่มต้นที่ 0
ถ้าเราพยายามเข้าถึง 10NSดัชนี เราได้รับข้อผิดพลาด:
พิมพ์(db[10])IndexError: รายการดัชนีอยู่นอกช่วง
วิธีการข้างต้นมีประโยชน์เมื่อคุณทราบว่ามีกี่รายการในรายการ หากคุณไม่แน่ใจเกี่ยวกับรายการในรายการ คุณสามารถใช้วิธีที่สองได้
2: การใช้ลูป
วิธีง่ายๆ ในการเข้าถึงรายการทั้งหมดในรายการคือการใช้ for loop แบบง่าย รหัสตัวอย่างสำหรับที่ด้านล่าง:
db= ['MySQL',
'PostgreSQ;',
'SQLite',
'MongoDB',
'มาเรียดีบี',
'เรดิส',
'เซิร์ฟเวอร์ Microsoft SQL',
'ออราเคิล',
'ไฟเบส',
'การค้นหาแบบยืดหยุ่น'
]
สำหรับรายการในฐานข้อมูล:
พิมพ์(รายการ)
การดำเนินการนี้จะวนซ้ำแต่ละรายการในรายการ db และพิมพ์ทุกรายการในนั้น
ตัวอย่างผลลัพธ์สำหรับสิ่งนั้นคือ:
MySQLPostgreSQ;
SQLite
MongoDB
MariaDB
Redis
เซิร์ฟเวอร์ Microsoft SQL
Oracle
Firebase
Elasticsearch
วิธีค้นหาค่าสูงสุดในรายการ Python
ตอนนี้ ให้เราดำดิ่งลงไปในสาระสำคัญของบทความนี้ วิธีค้นหาค่าสูงสุดในรายการ สำหรับสิ่งนี้ เราจะใช้วิธีการต่างๆ เพื่อให้ได้ผลลัพธ์แบบเดียวกัน
1: การใช้วิธีการเรียงลำดับ
วิธีแรกที่เราสามารถใช้เพื่อค้นหาค่าสูงสุดในรายการ Python คือวิธีการจัดเรียง
ในการดำเนินการนี้ เราส่งชื่อรายการไปยังเมธอด sort() ซึ่งจะจัดเรียงค่าทั้งหมดตามลำดับจากน้อยไปมาก หลังจากกระบวนการจัดเรียงรายการ เราสามารถเข้าถึงรายการสุดท้ายในอาร์เรย์เพื่อรับค่าที่มากที่สุด
ตัวอย่างเช่น พิจารณาอาร์เรย์ของค่าด้านล่าง:
ค่า= [10, 29.34, 2. 3, 72, 110, 773, 322, 63, 1, 3. 4, 5, 10, 64.3
]
เราสามารถเรียกวิธีการจัดเรียงกับรายการด้านบนและรับรายการสุดท้ายได้
ในการรับรายการสุดท้ายในอาร์เรย์ เราสามารถใช้ตัวเลือกการจัดทำดัชนีและระบุดัชนีเป็น -1 ซึ่งเป็นรายการสุดท้าย
พิจารณาโค้ดตัวอย่างด้านล่าง:
ค่า= [10, 2. 3, 72, 110, 773, 322, 63, 1, 3. 4, 5, 10
]
ค่าเรียงลำดับ()
พิมพ์(NS'ค่าสูงสุดในรายการคือ: {values[-1]}')
เมื่อเรารันโค้ดด้านบนแล้ว เราจะได้ค่าสูงสุดดังนี้
ค่าสูงสุดในNSรายการ เป็น:7732: การใช้ If…else
อีกวิธีง่ายๆ ในการหาค่าสูงสุดในรายการคือการใช้คำสั่ง if...else อย่างง่าย
ในการดำเนินการนี้ ก่อนอื่นเราถือว่าค่าที่มากที่สุดคือรายการแรกในดัชนี ต่อไป เราจะวนซ้ำแต่ละรายการในรายการและตรวจสอบว่ามีค่ามากกว่าค่าเริ่มต้นหรือไม่ ดังนั้นจึงกำหนดเป็นค่าสูงสุด มิฉะนั้นให้ย้ายไปที่หน้าถัดไป
พิจารณาการใช้งานด้านล่าง:
ค่า= [10, 2. 3, 72, 110, 773, 322, 63, 1, 3. 4, 5, 10
]
# ถือว่าค่าสูงสุดอยู่ที่ดัชนี0
ขีดสุด=ค่า[0]
สำหรับผมในค่า:
ถ้าผม>ขีดสุด:
ขีดสุด=ผม
พิมพ์(NS'ค่าสูงสุดคือ: {maximum}')
ในทำนองเดียวกัน หากเราเรียกใช้โค้ดข้างต้น เราควรได้ค่าสูงสุด 773 นี่คือผลลัพธ์ตัวอย่าง:
ค่าสูงสุดเป็น:7733: การใช้ฟังก์ชัน Max
Python มีฟังก์ชัน max ในตัวที่คุณสามารถใช้เพื่อค้นหาค่าสูงสุดใน iterable ตัวอย่างเช่น หากเราเรียกใช้ฟังก์ชัน max ในรายการสตริง ฟังก์ชันจะคืนค่ารายการสุดท้ายโดยจัดเรียงสตริงตามลำดับตัวอักษร
นี่คือตัวอย่าง:
ค่า= [10, 2. 3, 72, 110, 773, 322, 63, 1, 3. 4, 5, 10
]
พิมพ์(NS'ค่าสูงสุดคือ: {max(values)}')
4: การใช้วิธี Heap Queue ที่ใหญ่ที่สุด
วิธีที่ไม่ธรรมดาในการค้นหาค่าที่ใหญ่ที่สุดในรายการคือการใช้วิธีที่ใหญ่ที่สุดในโมดูล Heap Queue
โมดูลนี้ใช้อัลกอริธึมคิวฮีป เรียนรู้เพิ่มเติมเกี่ยวกับโมดูลคิวฮีพ Python
วิธีที่ใหญ่ที่สุดจะคืนค่าที่มากที่สุดที่ระบุ ตัวอย่างเช่น หากคุณระบุ 5 เมธอดจะส่งกลับค่า 5 ค่าสูงสุดใน iterable ที่ระบุ
ตัวอย่างเช่น:
จากการพิมพ์นำเข้าValuesViewนำเข้า heapq
ค่า= [
10, 2. 3, 72, 110, 773, 322, 63, 1, 3. 4, 5, 10
]
พิมพ์(NS'ค่าสูงสุดคือ {heapq.nlargest(1, values)}')
รหัสด้านบนควรคืนค่าเป็น 773
ค่าสูงสุดเป็น:773หากต้องการแสดงค่าที่มากที่สุด 5 ค่า ให้กำหนดจำนวนรายการเป็น 5 เป็น:
จากการพิมพ์นำเข้าValuesViewนำเข้า heapq
ค่า= [
10, 2. 3, 72, 110, 773, 322, 63, 1, 3. 4, 5, 10
]
พิมพ์(NS'ค่าสูงสุดในลำดับคือ {heapq.nlargest(5, values)}')
สิ่งนี้ควรส่งคืนผลลัพธ์ที่คล้ายกับที่แสดงด้านล่าง:
ค่าสูงสุดในสั่งซื้อคือ[773, 322, 110, 72, 63]แม้ว่าวิธีการข้างต้นอาจใช้เกินความจำเป็น แต่คุณอาจพบว่ามีประโยชน์ในบางกรณี
บทสรุป
บทช่วยสอนนี้แสดงวิธีสร้างรายการหลาม เข้าถึงรายการในรายการ และวิธีต่างๆ ในการรับค่าสูงสุดในรายการ Python
ขอบคุณสำหรับการอ่าน!