Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python แทรกสมาชิกลงในลิสต์ที่เรียงลำดับแล้ว

ในบทความนี้ เราจะเรียนรู้วิธีแก้ปัญหาตามข้อกำหนดด้านล่าง

ข้อกำหนดปัญหา − เราได้รับลิสต์ ต้องแทรกสมาชิกในลิสต์โดยไม่เปลี่ยนลำดับที่เรียงแล้ว

มี 2 วิธีตามที่อภิปรายด้านล่าง

วิธีที่ 1: Brute-force method

ตัวอย่าง

def insert(list_, n):
    # ค้นหา
    for i in range(len(list_)):
        if list_[i] > n:
            index = i
            break
    # แทรก
    list_ = list_[:i] + [n] + list_[i:]
    return list_

# Driver function
list_ = ['t','u','t','o','r']
n = 'e'
print(insert(list_, n))

ผลลัพธ์

['e', 't', 'u', 't', 'o', 'r']

วิธีที่ 2: ใช้โมดูล bisect

ตัวอย่าง

# built-in bisect module
import bisect

def insert(list_, n):
    bisect.insort(list_, n)
    return list_

list_ = ['t','u','t','o','r']
n = 'e'
print(insert(list_, n))

ผลลัพธ์

['e', 't', 'u', 't', 'o', 'r']

โปรแกรม Python แทรกสมาชิกลงในลิสต์ที่เรียงลำดับแล้ว

ตัวแปรทั้งหมดประกาศในขอบเขตท้องถิ่นและอ้างอิงของพวกเขาเห็นในรูปด้านบน

สรุป

ในบทความนี้ เราได้เรียนรู้วิธีแทรกสมาชิกในลิสต์ที่เรียงลำดับแล้ว โมดูล bisect เป็นวิธีที่มีประสิทธิภาพและแนะนำให้ใช้