ลบองค์ประกอบออกจาก Python รายการ [ล้าง ป๊อป ลบ เดล]

⚡ สรุปอย่างชาญฉลาด

การลบองค์ประกอบออกจาก Python คลาส list อาศัยเมธอดในตัวสามวิธี ได้แก่ remove(), pop() และ clear() รวมถึงคีย์เวิร์ด del ซึ่งแต่ละวิธีจะกำหนดเป้าหมายไปยังรายการตามค่า ตามดัชนี หรือล้างรายการทั้งหมดในตำแหน่งเดิม

  • 🔘 เมธอด remove(): เมธอด remove() จะลบองค์ประกอบแรกที่ตรงกับค่าที่กำหนด และจะแสดงข้อผิดพลาด ValueError หากไม่มีค่าดังกล่าว
  • ☑️ เมธอด pop(): ฟังก์ชัน pop() จะลบรายการที่ดัชนีที่กำหนดและส่งคืนค่าดังกล่าว โดยค่าเริ่มต้นจะเป็นรายการสุดท้ายหากไม่ได้ระบุดัชนี
  • ✅ คำหลัก del: คำสั่ง `del` ใช้สำหรับลบรายการหรือส่วนทั้งหมดโดยใช้ดัชนี และยังสามารถลบตัวแปรของรายการได้อีกด้วย
  • 🧪 เมธอด clear(): clear() จะล้างรายการทั้งหมดโดยคงรายการเดิมไว้ เหลือไว้เพียงรายการที่มีความยาวเป็นศูนย์
  • 🛠️ มูลค่าเทียบกับดัชนี: ใช้ remove() เมื่อทราบค่า และใช้ pop() หรือ del เมื่อทราบตำแหน่ง
  • 🤖 เวิร์กโฟลว์ AI: การทำความสะอาดข้อมูลสำหรับการเรียนรู้ของเครื่องจะตัดตัวอย่างที่ไม่ต้องการออกจากรายการโดยใช้การสร้างแบบเข้าใจง่าย (comprehensions) ก่อนการฝึกโมเดล

ลบองค์ประกอบออกจาก Python รายการ

Python ชนิดข้อมูลลิสต์ช่วยให้คุณจัดเก็บรายการที่มีชนิดข้อมูลต่างกันในลำดับที่เรียงกัน ข้อมูลจะถูกเขียนไว้ภายในวงเล็บเหลี่ยม ([]) และค่าต่างๆ จะถูกคั่นด้วยเครื่องหมายจุลภาค (,)

In Pythonมีหลายวิธีในประเภทข้อมูลรายการที่ช่วยคุณลบองค์ประกอบออกจากรายการที่กำหนด วิธีการคือ ลบ(), ป๊อป() และ ชัดเจน().

นอกจากวิธีการรายการแล้ว คุณยังสามารถใช้ a เดล คีย์เวิร์ดเพื่อลบรายการออกจากรายการ

ตัวอย่างรายการ

my_list = ['Guru', 50, 11.50, 'Siya', 50, ['A', 'B', 'C']]

ดัชนีเริ่มต้นจาก 0 ในลิสต์ my_list ที่ดัชนีลำดับที่ 0 เรามีสตริง 'Guru'

  • ที่ดัชนี 1 คุณจะได้รับเลข 50 ซึ่งเป็นจำนวนเต็ม
  • ที่ดัชนี:2 คุณจะได้เลขลอยตัว 11.50
  • ที่ดัชนี:3 มีสตริง 'สิยา'
  • ที่ดัชนี:4 คุณจะเห็นตัวเลข 50 ซ้ำกัน
  • ที่ดัชนี:5 คุณจะได้รับรายการที่มีค่า A, B และ C

Python ลบ() วิธีการ

เมธอด remove() เป็นเมธอดในตัวของลิสต์ ใช้สำหรับลบองค์ประกอบแรกที่ตรงกับเงื่อนไขออกจากลิสต์

ไวยากรณ์:

list.remove(element)

องค์ประกอบที่คุณต้องการลบออกจากรายการ

ราคาย้อนกลับ

ไม่มีค่าตอบแทนสำหรับวิธีนี้

คำแนะนำสำหรับการใช้งานเมธอด remove()

ต่อไปนี้คือประเด็นสำคัญที่ควรจำไว้เมื่อใช้เมธอด remove():

  • เมื่อรายการมีองค์ประกอบที่ซ้ำกัน องค์ประกอบแรกที่ตรงกับองค์ประกอบที่กำหนดจะถูกลบออกจากรายการ
  • หากองค์ประกอบที่กำหนดไม่อยู่ในรายการ ก็จะเกิดข้อผิดพลาดแจ้งว่าองค์ประกอบนั้นไม่อยู่ในรายการ
  • เมธอด remove() ไม่ส่งค่าใดๆ กลับมา
  • เมธอด remove() รับค่าเป็นอาร์กิวเมนต์ ดังนั้นค่าที่ส่งเข้าไปจะต้องมีชนิดข้อมูลที่ถูกต้อง

ตัวอย่าง: การใช้เมธอด remove() เพื่อลบองค์ประกอบออกจากรายการ

นี่คือตัวอย่างรายการที่ฉันมี:

my_list = [12, 'Siya', 'Tiya', 14, 'Riya', 12, 'Riya']

รายการนี้มีองค์ประกอบที่เป็นชนิดข้อมูลสตริงและตัวเลข และมีองค์ประกอบที่ซ้ำกัน เช่น ตัวเลข 12 และสตริง "Riya"

my_list = [12, 'Siya', 'Tiya', 14, 'Riya', 12, 'Riya']
my_list.remove(12) # it will remove the element 12 at the start.
print(my_list)
my_list.remove('Riya') # will remove the first Riya from the list
print(my_list)
my_list.remove(100)  #will throw an error
print(my_list)

Output:

['Siya', 'Tiya', 14, 'Riya', 12, 'Riya']
['Siya', 'Tiya', 14, 12, 'Riya']
Traceback (most recent calllast):
File "display.py", line 9, in <module>
    my_list.remove(100)
ValueError: list.remove(x): x not in the list

Python วิธีป๊อป ()

pop() วิธีการลบองค์ประกอบออกจากรายการตามดัชนีที่กำหนด

วากยสัมพันธ์

list.pop(index)

ดัชนี: วิธีการ pop() มีเพียงอาร์กิวเมนต์เดียวที่เรียกว่าดัชนี

  • ในการลบองค์ประกอบออกจากรายการ คุณต้องระบุค่าดัชนีขององค์ประกอบนั้น โดยดัชนีเริ่มต้นที่ 0 หากต้องการดึงองค์ประกอบแรกจากรายการ ให้ระบุค่าดัชนีเป็น 0 หากต้องการลบองค์ประกอบสุดท้าย ให้ระบุค่าดัชนีเป็น -1
  • อาร์กิวเมนต์ดัชนีเป็นทางเลือก หากไม่ผ่าน ค่าดีฟอลต์จะถือเป็น -1 และองค์ประกอบสุดท้ายจากรายการจะถูกส่งกลับ
  • หากไม่มีดัชนีที่กำหนดหรืออยู่นอกขอบเขต วิธีการ pop() จะแจ้งข้อผิดพลาดว่า IndexError: ดัชนีป๊อปอัป

ผลตอบแทน:

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

ตัวอย่าง: การใช้เมธอด pop() เพื่อลบองค์ประกอบออกจากรายการ

รายการที่เราจะใช้ในตัวอย่างนี้คือ my_list = [12, 'Siya', 'Tiya', 14, 'Riya', 12, 'Riya']

ลองมาลบองค์ประกอบโดยใช้เมธอด pop() ตามตัวอย่างต่อไปนี้:

  • โดยให้ดัชนี
  • ไม่มีดัชนี
  • การผ่านดัชนีที่อยู่นอกช่วง

ที่นี่เรากำลังถอดออก ติยะ จากรายการ ดัชนีเริ่มต้นจาก 0 ดังนั้นดัชนีสำหรับ ติยะ คือ 2

my_list = [12, 'Siya', 'Tiya', 14, 'Riya', 12, 'Riya']

#By passing index as 2 to remove Tiya
name = my_list.pop(2)
print(name)
print(my_list)

#pop() method without index – returns the last element
item = my_list.pop()
print(item)
print(my_list)

#passing index out of range
item = my_list.pop(15)
print(item)
print(my_list)

Output:

Tiya
[12, 'Siya', 14, 'Riya', 12, 'Riya']
Riya
[12, 'Siya', 14, 'Riya', 12]
Traceback (most recent calllast):
File "display.py", line 14, in <module>
item = my_list.pop(15)
IndexError: popindex out of range

Python clear() วิธีการ

เมธอด clear() จะลบองค์ประกอบทั้งหมดที่มีอยู่ในรายการ

ไวยากรณ์:

list.clear()

พารามิเตอร์:

ไม่มีพารามิเตอร์

ผลตอบแทน:

ไม่มีค่าส่งคืน รายการจะถูกล้างโดยใช้เมธอด clear()

ตัวอย่าง: การใช้เมธอด clear() เพื่อลบองค์ประกอบทั้งหมดออกจากรายการ

เมธอด clear() จะทำให้รายการที่กำหนดว่างเปล่า ให้เราดูการทำงานของ clear() ในตัวอย่างด้านล่าง:

my_list = [12, 'Siya', 'Tiya', 14, 'Riya', 12, 'Riya']

#Using clear() method
element = my_list.clear()
print(element)
print(my_list)

Output:

None
[]

การใช้คำสำคัญเดล

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

ไวยากรณ์:

del list[index]

คุณยังสามารถแบ่งองค์ประกอบต่างๆ จากรายการโดยใช้ เดล คำหลัก del สามารถระบุหมายเลขดัชนีเริ่มต้น/สิ้นสุดจากรายการให้กับคำหลัก del ได้ และองค์ประกอบที่อยู่ในช่วงนั้นจะถูกลบออก ไวยากรณ์มีดังนี้:

ไวยากรณ์:

del list[start:stop]

ต่อไปนี้เป็นตัวอย่างที่แสดงวิธีการลบองค์ประกอบแรก องค์ประกอบสุดท้าย และองค์ประกอบหลายรายการออกจากรายการโดยใช้ เดล.

my_list = list(range(15))
print("The Original list is ", my_list)

#To remove the firstelement
del my_list[0]
print("After removing first element", my_list)

#To remove last element
del my_list[-1]
print("After removing last element", my_list)

#To remove element for given index : for example index:5
del my_list[5]
print("After removing element from index:5", my_list)

#To remove last 2 elements from the list
del my_list[-2]
print("After removing last 2 elements", my_list)

#To remove multiple elements
delmy_list[1:5]
print("After removing multiple elements from start:stop index (1:5)", my_list)

#To remove multiple elements
del my_list[4:]
print("To remove elements from index 4 till the end (4:)", my_list)

Output:

The Originallist is  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
After removing first element [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
After removing last element [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
After removing element from index:5 [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13]
After removing last 2 elements [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 13]
After removing multiple elements from start:stop index (1:5) [1, 7, 8, 9, 10, 11, 13]
To remove elements from index 4 till the end (4:) [1, 7, 8, 9]

ฉันจะลบองค์ประกอบแรกออกจากรายการได้อย่างไร

คุณสามารถใช้วิธี list เช่น ลบ(), ป๊อป() เพื่อลบองค์ประกอบแรกออกจากรายการ ในกรณีของเมธอด remove() คุณจะต้องส่งองค์ประกอบแรกที่ต้องการลบ และสำหรับ pop() คุณจะต้องส่งดัชนี เช่น 0

คุณยังสามารถใช้ไฟล์ เดล คีย์เวิร์ดเพื่อลบองค์ประกอบแรกออกจากรายการ

ตัวอย่างด้านล่างแสดงวิธีการลบองค์ประกอบแรกออกจากรายการโดยใช้ remove(), pop() และ del

my_list1 = ['A', 'B', 'C', 'D', 'E', 'F']
print("The Originallist is ", my_list1)
#Using remove() to remove first element
my_list1.remove('A')
print("Using remove(), the final list is ", my_list1)

my_list1 = ['A', 'B', 'C', 'D', 'E', 'F']
print("The Originallist is ", my_list1)
#Using pop() to remove the first element
element = my_list1.pop(0)
print("The first element removed from my_list1 is ", element)
print("Using pop(), the final list is ", my_list1)

#Using del to remove the first element
my_list2 = ['A', 'B', 'C', 'D', 'E', 'F']
del my_list2[0]
print("Using del, the final list is ", my_list2)

Output:

The Originallist is  ['A', 'B', 'C', 'D', 'E', 'F']
Using remove(), the final list is  ['B', 'C', 'D', 'E', 'F']
The Originallist is  ['A', 'B', 'C', 'D', 'E', 'F']
The first element removed from my_list1 is  A
Using pop(), the final list is  ['B', 'C', 'D', 'E', 'F']
Using del, the final list is  ['B', 'C', 'D', 'E', 'F']

ฉันจะลบองค์ประกอบหลายรายการออกจากรายการได้อย่างไร Python?

เมธอด remove() และ pop() ของลิสต์มีไว้สำหรับลบองค์ประกอบเดียว หากต้องการลบหลายองค์ประกอบ ให้ใช้เมธอดอื่นแทน เดล คำสำคัญ.

จากรายการ ['A', 'B', 'C', 'D', 'E', 'F'] เราต้องการลบองค์ประกอบ B, C และ D ออก ตัวอย่างด้านล่างแสดงวิธีการใช้งาน เดล คำหลักเพื่อลบองค์ประกอบ

#Using del to remove the multiple elements from list
my_list2 = ['A', 'B', 'C', 'D', 'E', 'F']
print("Originallist is ", my_list2)
del my_list2[1:4]
print("Using del, the final list is ", my_list2)

Output:

Originallist is  ['A', 'B', 'C', 'D', 'E', 'F']
Using del, the final list is  ['A', 'E', 'F']

ฉันจะลบองค์ประกอบออกจากรายการโดยใช้ดัชนีได้อย่างไร Python?

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

#Using del to remove the multiple elements from list
my_list1 = ['A', 'B', 'C', 'D', 'E', 'F']
print("Originallist is ", my_list1)
element = my_list1.pop(2)
print("Element removed for index: 2 is ", element)
print("Using pop, the final list is ", my_list1)

#Using del to remove the multiple elements from list
my_list2 = ['A', 'B', 'C', 'D', 'E', 'F']
print("Originallist is ", my_list2)
del my_list2[2]
print("Using del, the final list is ", my_list2)

Output:

Originallist is  ['A', 'B', 'C', 'D', 'E', 'F']
Element removed for index: 2 is  C
Using pop, the final list is  ['A', 'B', 'D', 'E', 'F']
Originallist is  ['A', 'B', 'C', 'D', 'E', 'F']
Using del, the final list is  ['A', 'B', 'D', 'E', 'F']

คำถามที่พบบ่อย

เมธอด `remove()` จะลบองค์ประกอบแรกที่ตรงกับค่าที่กำหนด เมธอด `pop()` จะลบรายการตามดัชนีและส่งคืนค่า และเมธอด `del` จะลบรายการหรือสไลซ์ตามดัชนีโดยไม่ส่งคืนค่าใดๆ เลือกใช้เมธอดตามว่าคุณทราบค่าหรือตำแหน่งที่ต้องการลบ

เมธอด `remove()` จะลบเฉพาะรายการที่ตรงกันรายการแรกเท่านั้น ดังนั้นควรใช้ list comprehension เช่น `[x for x in my_list if x != value]` วิธีนี้จะสร้างลิสต์ใหม่โดยไม่มีรายการที่ตรงกัน และคงลำดับที่เหลือไว้เหมือนเดิม

การแก้ไขรายการขณะวนซ้ำไปข้างหน้าจะทำให้ข้ามองค์ประกอบไป ควรวนซ้ำผ่านสำเนา วนลูปย้อนกลับ หรือสร้างรายการใหม่ด้วย comprehension วิธีการใช้ comprehension นั้นอ่านง่ายที่สุดและหลีกเลี่ยงข้อผิดพลาดจากการเลื่อนดัชนีได้อย่างสมบูรณ์

clear() จะล้างรายการในตำแหน่งเดิม ในขณะที่ keeping ตัวแปรและข้อมูลอ้างอิงใดๆ ที่ชี้ไปยังรายการที่ว่างเปล่าเดียวกันนั้น คำสั่ง del my_list จะลบตัวแปรนั้นออกไปทั้งหมด ดังนั้นการอ้างอิงถึงตัวแปรนั้นในภายหลังจะทำให้เกิดข้อผิดพลาด NameError

เมธอด remove(), pop(), clear() และ del ล้วนเปลี่ยนแปลงรายการในโครงสร้างเดิม มีเพียง pop() เท่านั้นที่คืนค่าองค์ประกอบที่ถูกลบออก ส่วนเมธอดอื่นๆ จะคืนค่า None หรือไม่มีอะไรเลย ในทางกลับกัน การใช้ list comprehension จะสร้างรายการใหม่แยกต่างหากและปล่อยให้รายการเดิมไม่เปลี่ยนแปลง

การเรียกใช้ remove() ซ้ำๆ นั้นช้า เพราะแต่ละครั้งที่เรียกใช้จะสแกนรายการใหม่ทั้งหมด การสร้างรายการใหม่ด้วย list comprehension หรือ filter() เพียงครั้งเดียวจะทำงานในรอบเดียวและเร็วกว่ามากสำหรับรายการขนาดใหญ่เมื่อต้องการลบค่าจำนวนมาก

การเตรียมข้อมูลสำหรับแมชชีนเลิร์นนิงมักจะลบตัวอย่างที่ไม่ต้องการ ค่าผิดปกติ หรือป้ายกำกับที่ไม่ถูกต้องออกจากรายการก่อนที่จะแปลงเป็นอาร์เรย์ การลบอย่างสะอาดด้วย comprehensions หรือ pandas ช่วยให้ข้อมูลการฝึกอบรมมีความสม่ำเสมอและป้องกันผลลัพธ์ของโมเดลที่ผิดเพี้ยน

ใช่แล้ว GitHub Copilot และผู้ช่วย AI ของ Agentic สามารถสร้างฟังก์ชัน remove(), pop(), del และโค้ดแบบ comprehension จากคอมเมนต์ธรรมดา แนะนำตัวเลือกที่ปลอดภัยที่สุดสำหรับกรณีของคุณ และปรับปรุงลูปใหม่ แต่คุณควรทดสอบกรณีพิเศษ เช่น ค่าที่หายไปด้วย

สรุปโพสต์นี้ด้วย: