การเพิ่มองค์ประกอบในรายการ (อาร์เรย์) ใน Python: append(), expand(), insert()

ธุรกิจ

หากต้องการเพิ่มองค์ประกอบในรายการ (อาร์เรย์) ของประเภทรายการใน Python หรือรวมรายการอื่น ให้ใช้วิธีการรายการ append(), expand() และ insert() คุณยังสามารถใช้ตัวดำเนินการ + หรือสไลซ์ เพื่อระบุตำแหน่งและกำหนดตำแหน่งได้

ข้อมูลต่อไปนี้มีให้ที่นี่

  • เพิ่มองค์ประกอบในตอนท้าย:append()
  • รวมรายการอื่นหรือทูเพิลในตอนท้าย (การต่อกัน):extend(),+โอเปอเรเตอร์
  • เพิ่ม (แทรก) องค์ประกอบในตำแหน่งที่ระบุ:insert()
  • เพิ่ม (แทรก) รายการอื่นหรือทูเพิลที่ตำแหน่งที่ระบุ:ชิ้น

เพิ่มองค์ประกอบในตอนท้าย:append()

เมื่อใช้เมธอด append() ของรายการ คุณสามารถเพิ่มองค์ประกอบต่อท้าย (สุดท้าย) ได้ หากคุณต้องการเพิ่มไปยังตำแหน่งอื่นที่ไม่ใช่ส่วนท้าย เช่น ด้านบน ให้ใช้ insert() ตามที่อธิบายไว้ด้านล่าง

l = list(range(3))
print(l)
# [0, 1, 2]

l.append(100)
print(l)
# [0, 1, 2, 100]

l.append('new')
print(l)
# [0, 1, 2, 100, 'new']

รายการยังถูกเพิ่มเป็นองค์ประกอบเดียว พวกเขาไม่ได้รวมกัน

l.append([3, 4, 5])
print(l)
# [0, 1, 2, 100, 'new', [3, 4, 5]]

รวมรายการอื่นหรือทูเพิลในตอนท้าย (การต่อกัน):extend(),+โอเปอเรเตอร์

ด้วยเมธอด list expand() คุณสามารถรวมรายการอื่นหรือทูเพิลในตอนท้าย (ตอนท้าย) องค์ประกอบทั้งหมดจะถูกผนวกเข้ากับส่วนท้ายของรายการดั้งเดิม

l = list(range(3))
print(l)
# [0, 1, 2]

l.extend([100, 101, 102])
print(l)
# [0, 1, 2, 100, 101, 102]

l.extend((-1, -2, -3))
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3]

โปรดทราบว่าอักขระแต่ละตัว (องค์ประกอบ) จะถูกเพิ่มลงในสตริงทีละอักขระ

l.extend('new')
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w']

นอกจากนี้ยังสามารถเชื่อมต่อโดยใช้ตัวดำเนินการ + แทนวิธีขยาย ()

+ ตัวดำเนินการ รายการใหม่จะถูกส่งคืน+=วิธีนี้จะช่วยให้คุณเพิ่มลงในรายการที่มีอยู่ได้

l2 = l + [5, 6, 7]
print(l2)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]

l += [5, 6, 7]
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]

เพิ่ม (แทรก) องค์ประกอบในตำแหน่งที่ระบุ:insert()

รายการวิธีการ insert() สามารถเพิ่ม (แทรก) องค์ประกอบในตำแหน่งที่ระบุ

อาร์กิวเมนต์แรกระบุตำแหน่ง และอาร์กิวเมนต์ที่สองระบุองค์ประกอบที่จะแทรก ตำแหน่งแรก (เริ่มต้น) คือ 0; สำหรับค่าลบ -1 คือตำแหน่งสุดท้าย (สุดท้าย)

l = list(range(3))
print(l)
# [0, 1, 2]

l.insert(0, 100)
print(l)
# [100, 0, 1, 2]

l.insert(-1, 200)
print(l)
# [100, 0, 1, 200, 2]

เช่นเดียวกับ append() รายการจะถูกเพิ่มเป็นองค์ประกอบเดียว มันจะไม่ถูกรวมเข้าด้วยกัน

l.insert(0, [-1, -2, -3])
print(l)
# [[-1, -2, -3], 100, 0, 1, 200, 2]

โปรดทราบว่าการ insert() ไม่ใช่การดำเนินการที่มีประสิทธิภาพ เนื่องจากต้องใช้ค่าใช้จ่ายดังต่อไปนี้ ดูหน้าต่อไปนี้บนวิกิอย่างเป็นทางการสำหรับความซับซ้อนในการคำนวณของการดำเนินการรายการต่างๆ
O(n)

O(1)
ประเภท deque มีให้ในโมดูลคอลเลกชันไลบรารีมาตรฐานเป็นประเภทเพื่อเพิ่มองค์ประกอบที่ด้านบนด้วยค่าใช้จ่ายนี้ ตัวอย่างเช่น หากคุณต้องการจัดการข้อมูลแบบคิว (FIFO) การใช้ deque จะมีประสิทธิภาพมากกว่า

เพิ่ม (แทรก) รายการอื่นหรือทูเพิลที่ตำแหน่งที่ระบุ:ชิ้น

หากคุณระบุช่วงด้วยสไลซ์และกำหนดรายการอื่นหรือทูเพิล องค์ประกอบทั้งหมดจะถูกเพิ่ม (แทรก)

l = list(range(3))
print(l)
# [0, 1, 2]

l[1:1] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 1, 2]

คุณยังสามารถแทนที่องค์ประกอบเดิมได้ องค์ประกอบทั้งหมดในช่วงที่ระบุจะถูกแทนที่

l = list(range(3))
print(l)
# [0, 1, 2]

l[1:2] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 2]
Copied title and URL