แทนที่แต่ละสมาชิกในลิสต์ (ยกเว้นตัวแรกและตัวสุดท้าย) ด้วยค่าที่มากกว่าระหว่างเพื่อนบ้านซ้ายและขวา
ตัวอย่างโค้ด
my_list = [41, 25, 24, 45, 86, 37, 18, 99]
print("The list is :")
print(my_list)
for index in range(1, len(my_list) - 1):
my_list[index] = my_list[index - 1] if my_list[index - 1] > my_list[index + 1] else my_list[index + 1]
print("The resultant list is :")
print(my_list)
ผลลัพธ์
The list is : [41, 25, 24, 45, 86, 37, 18, 99]
The resultant list is : [41, 41, 45, 86, 86, 86, 99, 99]
คำอธิบาย
- วนลูปจาก Index 1 ถึง n-2 (ข้ามตัวแรกและตัวสุดท้าย)
- เปรียบเทียบ
my_list[index-1](ซ้าย) กับmy_list[index+1](ขวา) - ใช้ Ternary Operator เลือกค่าที่มากกว่า
- แก้ไขลิสต์เดิม (In-place)