ในบทความนี้ เราจะเรียนรู้เกี่ยวกับวิธีแก้ปัญหาตามที่ระบุด้านล่าง
แจ้งปัญหา − เราได้รับรายชื่อ เราต้องแสดงตัวเลขที่ใหญ่เป็นอันดับสองในรายการ
มีสามแนวทางในการแก้ปัญหา−
วิธีที่ 1 − เราใช้ฟังก์ชัน set() &ฟังก์ชัน remove()
ตัวอย่าง
list1 = [11,22,1,2,5,67,21,32] # to get unique elements new_list = set(list1) # removing the largest element from list1 new_list.remove(max(new_list)) # now computing the max element by built-in method? print(max(new_list))
ผลลัพธ์
32
แนวทางที่ 2 - เราใช้เมธอด sort() และดัชนีเชิงลบ
ตัวอย่าง
list1 = [11,22,1,2,5,67,21,32]
# using built-in sort method
list1.sort()
# second last element
print("Second largest element in the list is:", list1[-2]) ผลลัพธ์
Second largest element in the list is: 32
แนวทางที่ 3 − เราใช้วิธีเดรัจฉานเพื่อให้ได้องค์ประกอบสูงสุดอันดับสอง
ตัวอย่าง
list1 = [11,22,1,2,5,67,21,32]
#assuming max_ is equal to maximum of element at 0th and 1st index
and secondmax is the minimum among them
max_=max(list1[0],list1[1])
secondmax=min(list1[0],list1[1])
for i in range(2,len(list1)):
# if found element is greater than max_
if list1[i]>max_:
secondmax=max_
max_=list1[i]
#if found element is greator than secondmax
else:
if list1[i]>secondmax:
secondmax=list1[i]
print("Second highest number is the list is : ",str(secondmax)) ผลลัพธ์
Second highest number is the list is : 32
บทสรุป
ในบทความนี้ เราได้เรียนรู้เกี่ยวกับวิธีการค้นหาองค์ประกอบที่ใหญ่เป็นอันดับสองในรายการ