ค้นหาค่าสูงสุดในรายการ Python

Find Max Value List Python



พวกเราไม่มีใครโต้แย้งได้ว่า Python เป็นหนึ่งในภาษาโปรแกรมที่ได้รับความนิยมและมีประโยชน์มากที่สุด มันมีประเภทข้อมูลที่หลากหลายซึ่งมีประโยชน์ในแอพพลิเคชั่นที่หลากหลาย

หนึ่งในประเภทข้อมูลพื้นฐานและหลากหลายใน 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 และพิมพ์ทุกรายการในนั้น

ตัวอย่างผลลัพธ์สำหรับสิ่งนั้นคือ:

MySQL

PostgreSQ;

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รายการ เป็น:773

2: การใช้ If…else

อีกวิธีง่ายๆ ในการหาค่าสูงสุดในรายการคือการใช้คำสั่ง if...else อย่างง่าย

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

พิจารณาการใช้งานด้านล่าง:

ค่า= [

10, 2. 3, 72, 110, 773, 322, 63, 1, 3. 4, 5, 10

]

# ถือว่าค่าสูงสุดอยู่ที่ดัชนี0

ขีดสุด=ค่า[0]

สำหรับผมในค่า:

ถ้าผม>ขีดสุด:

ขีดสุด=ผม

พิมพ์(NS'ค่าสูงสุดคือ: {maximum}')

ในทำนองเดียวกัน หากเราเรียกใช้โค้ดข้างต้น เราควรได้ค่าสูงสุด 773 นี่คือผลลัพธ์ตัวอย่าง:

ค่าสูงสุดเป็น:773

3: การใช้ฟังก์ชัน 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

ขอบคุณสำหรับการอ่าน!