Python รายการผนวก () พร้อมตัวอย่าง

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

Python เมธอด `list append()` จะเพิ่มอ็อบเจ็กต์เดียวเข้าไปที่ท้ายลิสต์ที่มีอยู่แล้ว ทำให้ความยาวของลิสต์เพิ่มขึ้นหนึ่ง เมธอดนี้จะแก้ไขลิสต์ในตำแหน่งเดิม ไม่ส่งค่าคืน และรับค่าเป็นจำนวนเต็ม สตริง ทศนิยม หรืออ็อบเจ็กต์อื่นๆ

  • 🔘 ไวยากรณ์: ฟังก์ชัน append() รับอาร์กิวเมนต์หนึ่งตัวและแทรกอาร์กิวเมนต์นั้นที่ส่วนท้ายด้านขวาของลิสต์พื้นฐาน
  • ☑️ ผลตอบแทน: ฟังก์ชัน append() จะเปลี่ยนแปลงรายการในตำแหน่งเดิมและส่งคืนค่า None ไม่ใช่รายการใหม่
  • รายการอาคาร: การใช้ลูป for ร่วมกับ append() หรือ list comprehension จะช่วยเติมข้อมูลลงในลิสต์ตั้งแต่เริ่มต้น
  • 🧪 ลักษณะการทำงานของ Stack: เมธอด append() ทำหน้าที่เหมือนการเพิ่มข้อมูลเข้าไป ในขณะที่เมธอด pop() จะลบรายการสุดท้ายออก (เข้าหลังออกก่อน)
  • 🛠️ เพิ่ม (append) กับ ขยาย (extend): append() เพิ่มอ็อบเจ็กต์หนึ่งรายการ; extend() เพิ่มองค์ประกอบทั้งหมดของออบเจ็กต์ที่สามารถวนซ้ำได้ เช่น ทูเพิล
  • 🤖 เวิร์กโฟลว์ AI: ลูปการเรียนรู้ของเครื่องจะใช้ฟังก์ชัน append() เพื่อรวบรวมคุณลักษณะ การคาดการณ์ และตัวอย่างระหว่างการฝึกฝน

Python เพิ่มรายการ()

วิธีการผนวกคืออะไร Python?

ฟังก์ชั่นผนวกเข้าใน Python ช่วยในการแทรกองค์ประกอบใหม่ลงในรายการพื้นฐาน โดยรายการใหม่จะถูกเพิ่มเข้าไปทางด้านขวาของรายการที่มีอยู่แล้ว เมธอด `append` รับอาร์กิวเมนต์เพียงตัวเดียวและเพิ่มขนาดของรายการขึ้น 1

แผนภาพต่อไปนี้แสดงให้เห็น Pythonฟังก์ชันผนวกของ:

ผนวกวิธีการใน Python

ไวยากรณ์:

List.append(object)

หมายเหตุ ในที่นี้ อ็อบเจ็กต์อาจเป็นจำนวนเต็ม สตริง หรือจำนวนทศนิยม ฟังก์ชัน append ไม่ส่งคืนค่าหรือลิสต์ใดๆ แต่จะแก้ไขและขยายลิสต์พื้นฐานแทน

วิธีใช้ฟังก์ชัน Append เพื่อสร้างไฟล์ Python รายการ?

A Python สามารถสร้างและเติมรายการได้สองวิธี

  1. ในวิธีแรก จะใช้รายการความเข้าใจ
  2. วิธีที่สองใช้ฟังก์ชันผนวกและ "สำหรับห่วง- ในแนวทางนี้ คุณสามารถสร้างฟังก์ชันที่ผู้ใช้กำหนดซึ่งใช้สำหรับลูปและผนวก

ลองดูตัวอย่างด้านล่างนี้ ซึ่งใช้วิธีที่สอง:

import math
def calc_sqr_root(b_list):
    bop=[]
    for number in b_list:
        bop.append(math.sqrt(number))
    return bop
    
base_list=(4,9,100,25,36,49,81)
print("the Squared number list is as follows",base_list)
calc_sqr_root(base_list)
print("the numbers with square root in list is as follows",calc_sqr_root(base_list))

Output:

the Squared number list is as follows (4, 9, 100, 25, 36, 49, 81)
the numbers with square root in the list is as follows [2.0, 3.0, 10.0, 5.0, 6.0, 7.0, 9.0]

Code คำอธิบาย:

  • ใช้เครื่องหมายวงเล็บเหลี่ยมเพื่อกำหนดรายการว่าง
  • ฟังก์ชัน for loop และ append ใช้ร่วมกันภายใต้ฟังก์ชันกำหนดที่ผู้ใช้กำหนด
  • มันเติมรายการว่างตั้งแต่เริ่มต้น
  • มันแทรกรายการทีละรายการโดยใช้ for loop เพื่อแทรกรายการ
  • รายการต่อท้ายใช้ในการส่งกลับค่าสำหรับฟังก์ชันที่ผู้ใช้กำหนด

ด้านล่างนี้เป็นตัวอย่างที่ใช้วิธีการแรก:

ตัวอย่าง:

Python รหัส:

import math
def calc_sqr_root(b_list):
    return [math.sqrt(number) for number in b_list]
base_list=(4,9,100,25,36,49,81)
print("the Squared number list is as follows",base_list)
calc_sqr_root(base_list)
print("the numbers with square root in list is as follows",calc_sqr_root(base_list))

Output:

the Squared number list is as follows (4, 9, 100, 25, 36, 49, 81)
the numbers with a square root in the list are as follows [2.0, 3.0, 10.0, 5.0, 6.0, 7.0, 9.0]

Code คำอธิบาย:

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

วิธีการผนวกทำงานอย่างไร

ฟังก์ชัน append ทำงานในลักษณะดังต่อไปนี้:

  • ฟังก์ชันผนวกเข้าใน Python เพิ่มวัตถุในรายการฐาน
  • ใช้วัตถุเป็นอาร์กิวเมนต์และวางไว้ในพื้นที่ว่างถัดไป
  • รายการจะถูกเรียงลำดับและสามารถเข้าถึงได้โดยใช้ดัชนี

ด้านล่างนี้เป็นภาพที่แสดงดัชนีสำหรับองค์ประกอบ:

ผนวกวิธีการทำงาน

ให้เรานำตัวอย่างด้านล่างที่เพิ่มองค์ประกอบลงในรายการฐาน

Python ตัวอย่าง:

baselist = ['P','Y','3','4.2','T']
print("The original list", baselist)
print("At index 0:", baselist[0])
print("At index 3:",baselist[3])
baselist.append('n')
print("The appended list", baselist)
print("At index 5 post append:",baselist[5])

Output:

The original list ['P', 'Y', '3', '4.2', 'T']
At index 0: P
At index 3: 4.2
The appended list ['P', 'Y', '3', '4.2', 'T', 'n']
At index 5 post append: n

Code คำอธิบาย:

  • ฟังก์ชั่นผนวกเพิ่มชนิดข้อมูลวัตถุของวัตถุลงในพื้นที่สงวนที่มีอยู่ในรายการ
  • Python รายการเป็นลำดับที่สามารถทำซ้ำได้ซึ่งสามารถเก็บประเภทข้อมูลและอ็อบเจ็กต์ที่แตกต่างกันได้

ฟังก์ชัน append จะเพิ่มองค์ประกอบใหม่ที่ดัชนี 5 ดังแสดงด้านล่าง:

ผนวกวิธีการทำงาน

จะแทรกองค์ประกอบลงในรายการโดยไม่ต้องผนวกได้อย่างไร?

โปรแกรมเมอร์สามารถเพิ่มองค์ประกอบลงในรายการได้โดยใช้กระบวนการสองขั้นตอนหากไม่ได้ใช้ฟังก์ชันผนวก

โดยใช้ฟังก์ชัน Len คุณสามารถหาความยาวของรายการสุดท้ายในลิสต์ได้ จากนั้นกำหนดช่องว่างที่พบให้กับอ็อบเจ็กต์ใหม่ ตัวอย่างต่อไปนี้แสดงให้เห็นถึงแนวคิดนี้:

ตัวอย่าง:

base_list=[2,4,6]
print("The list before append",base_list)
base_list[len(base_list):]=[10]
print("The list after append",base_list)

Output:

The list before append [2, 4, 6]
The list after append [2, 4, 6, 10]

จะกำหนด Stack โดยใช้ Append Function ได้อย่างไร

คุณลักษณะต่อไปนี้ใช้กับสแต็ก:

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

มาดูโปรแกรมที่ฟังก์ชัน append และ pop ทำงานเป็นการดำเนินการ push และ pop สำหรับสแต็กที่กำหนด:

ตัวอย่าง:

Python รหัส:

#initialize the stack
GGGstack = []
print("Adding item to the list",GGGstack.append(100))
print("Adding item to the list",GGGstack.append(2333))
print("Adding item to the list",GGGstack.append(50000))
print("the base list after adding elements,",GGGstack)
print("base list after calling pop",GGGstack.pop())
print("base list after calling pop",GGGstack.pop())
print("base list after calling pop",GGGstack.pop())
print("base list after calling pop",GGGstack.pop())

Output:

Adding item to the list None

Adding item to the list None

Adding item to the list None

the base list after adding elements, Stack([100, 2333, 50000])

base list after calling pop 50000

base list after calling pop 2333

base list after calling pop 100

Empty stack

base list after calling pop None

Code คำอธิบาย:

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

วิธีการขยายคืออะไร Python?

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

หมายเหตุ ฟังก์ชันนี้จะไม่ส่งคืนค่าใด ๆ หลังการดำเนินการ

ต่อไปนี้คือไวยากรณ์ของฟังก์ชัน extend:

ไวยากรณ์:

List.extend(iterable list)

ความแตกต่างระหว่างการขยายและผนวกเข้า Python

เมธอด append และ extend มีความแตกต่างกันในประเด็นสำคัญดังต่อไปนี้:

  • ฟังก์ชั่นผนวกเข้าใน Python เพิ่มเพียงองค์ประกอบเดียวในรายการดั้งเดิม ในขณะที่ฟังก์ชันขยายอนุญาตให้เพิ่มหลายรายการได้
  • รายการต่อท้ายรับเพียงอาร์กิวเมนต์เดียว ในขณะที่ฟังก์ชันขยายรับรายการที่สามารถทำซ้ำได้ เช่น สิ่งอันดับและพจนานุกรม

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

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

การเพิ่มข้อมูลใช้เวลาเฉลี่ย O(1) Python บางครั้งอาจมีการปรับขนาดอาร์เรย์และคัดลอกทุกองค์ประกอบด้วยต้นทุน O(n) แต่กรณีดังกล่าวเกิดขึ้นไม่บ่อยนัก ดังนั้นต้นทุนเฉลี่ยต่อการเพิ่มข้อมูลจึงคงที่

เมธอด `append()` ส่งคืนค่า `None` เนื่องจากเป็นการแก้ไขรายการในตำแหน่งเดิม การเขียน `new = old.append(x)` จะเก็บค่า `None` ไว้และทำให้รายการหายไป ซึ่งเป็นข้อผิดพลาดที่ผู้เริ่มต้นมักทำและควรหลีกเลี่ยง

การส่งลิสต์ไปยัง append() จะเพิ่มลิสต์นั้นเป็นองค์ประกอบย่อยหนึ่งรายการ ดังนั้น [1, 2].append([3, 4]) จะได้ผลลัพธ์เป็น [1, 2, [3, 4]] หากต้องการรวมองค์ประกอบแต่ละรายการเข้าด้วยกัน ให้ใช้ extend() หรือตัวดำเนินการบวก

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

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

โค้ดแมชชีนเลิร์นนิงใช้เมธอด append() เพื่อรวบรวมคุณลักษณะ การคาดการณ์ และตัวอย่างชุดข้อมูลภายในลูป ก่อนที่จะแปลงเป็นอาร์เรย์ NumPy หรือเทนเซอร์สำหรับไปป์ไลน์การฝึกอบรม AI

ใช่แล้ว GitHub Copilot และผู้ช่วย AI ของ Agentic สามารถสร้างคำสั่ง append(), ลูป และ comprehension จากคอมเมนต์สั้นๆ ได้ และสามารถปรับปรุงคำสั่ง append() ที่ซ้ำกันให้เหลือเพียง comprehension เดียวได้ อย่างไรก็ตาม ควรทดสอบผลลัพธ์ด้วย

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