目次
1. พื้นฐานการกำหนดค่าเริ่มต้นของอาร์เรย์ (ลิสต์) ใน Python
ลิสต์ (อาร์เรย์) ใน Python เป็นโครงสร้างข้อมูลที่ยืดหยุ่น สามารถเก็บสมาชิกที่มีชนิดข้อมูลต่างกันได้ และถือเป็นพื้นฐานของการเขียนโปรแกรม Python บทความนี้จะอธิบายวิธีการกำหนดค่าเริ่มต้นของอาร์เรย์ (ลิสต์) ใน Pythonลิสต์ใน Python คืออะไร?
ลิสต์เป็นโครงสร้างข้อมูลสำหรับรวบรวมสมาชิกหลายชนิดข้อมูล เช่น ตัวเลขหรือสตริง เข้าด้วยกันในชุดเดียว และถูกใช้เป็น “อาร์เรย์” ของ Python สามารถมีสมาชิกที่มีชนิดข้อมูลต่างกัน และหลังจากกำหนดค่าเริ่มต้นแล้วสามารถเพิ่มหรือลบสมาชิกได้อย่างอิสระexample_list = [1, "Hello", True]
print(example_list)
# ผลลัพธ์: [1, "Hello", True]
การสร้างลิสต์ว่าง
หากต้องการสร้างลิสต์ว่าง ให้ใช้[]
หรือ list()
วิธีนี้เหมาะเมื่อจะเพิ่มสมาชิกในภายหลังหรือเมื่ออยากเตรียมตัวแปรไว้ก่อนempty_list1 = []
empty_list2 = list()
print(empty_list1) # ผลลัพธ์: []
print(empty_list2) # ผลลัพธ์: []
การกำหนดค่าเริ่มต้นลิสต์ด้วยจำนวนสมาชิกที่กำหนด
ใน Python สามารถสร้างลิสต์ที่มีจำนวนสมาชิกตามที่กำหนดได้อย่างง่ายดาย ตัวอย่างเช่น สามารถสร้างลิสต์ที่กำหนดค่าเริ่มต้นด้วยเลข “0” จำนวน 5 ตัวได้ดังนี้initial_list = [0] * 5
print(initial_list)
# ผลลัพธ์: [0, 0, 0, 0, 0]
วิธีนี้สะดวกเมื่ออยากสร้างลิสต์ที่มีค่าเดียวกันทั้งหมดการใช้ฟังก์ชัน list เพื่อกำหนดค่าเริ่มต้นลิสต์
ฟังก์ชันlist()
มีประโยชน์เมื่อสร้างลิสต์จากชนิดข้อมูลอื่น เช่น สามารถแปลงสตริงเป็นลิสต์ หรือแปลงทูเพิลเป็นลิสต์ได้char_list = list("Python")
tuple_list = list((1, 2, 3))
print(char_list)
# ผลลัพธ์: ['P', 'y', 't', 'h', 'o', 'n']
print(tuple_list)
# ผลลัพธ์: [1, 2, 3]

2. กำหนดค่าเริ่มต้นให้ลิสต์ด้วย List Comprehension
List Comprehension เป็นไวยากรณ์ที่สะดวก ช่วยให้เขียนโค้ด Python ได้อย่างกระชับและมีประสิทธิภาพ โดยเฉพาะอย่างยิ่งเมื่อใช้กำหนดค่าเริ่มต้นให้ลิสต์ตามเงื่อนไขList Comprehension พื้นฐาน
ในตัวอย่างต่อไปนี้ เราจะกำหนดค่าเริ่มต้นลิสต์ที่มีสมาชิกเป็นจำนวนเต็มตั้งแต่ 0 ถึง 9 ด้วย List Comprehensionnumbers = [i for i in range(10)]
print(numbers)
# 出力: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
List Comprehension แบบมีเงื่อนไข
คุณยังสามารถสร้างลิสต์โดยเพิ่มเงื่อนไขได้เช่นกัน ตัวอย่างเช่น ลิสต์ที่เลือกเฉพาะจำนวนคู่สามารถเขียนได้ดังนี้even_numbers = [i for i in range(10) if i % 2 == 0]
print(even_numbers)
# 出力: [0, 2, 4, 6, 8]
3. การเริ่มต้นลิสต์สองมิติ
ลิสต์ของ Python สามารถแทนอาร์เรย์หลายมิติได้ด้วยการมีลิสต์อยู่ภายในลิสต์ ด้วยเหตุนี้จึงสามารถจัดการโครงสร้างข้อมูลแบบตารางหรือเมทริกซ์ได้วิธีการเริ่มต้นลิสต์สองมิติ
ต่อไปนี้เป็นตัวอย่างการเริ่มต้นลิสต์สองมิติขนาด 3×3 โดยใช้ list comprehension วิธีนี้ทำให้ลิสต์แต่ละรายการเป็นอิสระจากกัน จึงป้องกันการเปลี่ยนแปลงโดยไม่คาดคิดที่เกิดจากการอ้างอิงร่วมmatrix = [[0 for _ in range(3)] for _ in range(3)]
print(matrix)
# ผลลัพธ์: [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
ข้อควรระวัง: ปัญหาการอ้างอิงเมื่อเริ่มต้นลิสต์สองมิติ
[[0] * 3] * 3
หากเขียนแบบนี้ แต่ละแถวจะอ้างอิงอ็อบเจ็กต์เดียวกัน ทำให้การเปลี่ยนแปลงในจุดหนึ่งสะท้อนไปยังแถวอื่นด้วย การใช้ list comprehension จะทำให้แต่ละแถวถูกสร้างเป็นลิสต์ที่เป็นอิสระจากกัน4. วิธีการจัดการลิสต์:การเพิ่มและการรวมสมาชิก
ลิสต์ใน Python สามารถเพิ่มหรือลบสมาชิกแบบไดนามิกหลังจากสร้างแล้ว และสามารถรวมกับลิสต์อื่นได้ ที่นี่เราจะอธิบายวิธีการพื้นฐานการเพิ่มสมาชิก:เมธอด append
append()
จะเพิ่มสมาชิกที่ท้ายลิสต์ได้my_list = [1, 2, 3]
my_list.append(4)
print(my_list)
# ผลลัพธ์: [1, 2, 3, 4]
การแทรกสมาชิก:เมธอด insert
insert()
จะแทรกสมาชิกลงในตำแหน่งที่ระบุภายในลิสต์ ระบุอินเด็กซ์เพื่อแทรกในตำแหน่งใดก็ได้my_list = [1, 2, 3]
my_list.insert(1, 'new')
print(my_list)
# ผลลัพธ์: [1, 'new', 2, 3]
การรวมลิสต์:ตัวดำเนินการ +
ในการเชื่อมลิสต์หลายรายการ ให้ใช้ตัวดำเนินการ+
list1 = [1, 2, 3]
list2 = [4, 5]
combined_list = list1 + list2
print(combined_list)
# ผลลัพธ์: [1, 2, 3, 4, 5]

5. วิธีการเริ่มต้นอื่น ๆ: โมดูล array และ NumPy
ใน Python มีโมดูลarray
และไลบรารี NumPy ที่เน้นงานคำนวณเชิงตัวเลข ทำให้สามารถเริ่มต้นอาร์เรย์ด้วยโครงสร้างข้อมูลนอกเหนือจากลิสต์ได้เช่นกันการเริ่มต้นด้วยโมดูล array
โมดูลarray
ของ Python สามารถเก็บอาร์เรย์ที่มีชนิดข้อมูลเดียวกันได้อย่างมีประสิทธิภาพ จึงใช้หน่วยความจำน้อยเป็นจุดเด่นimport array
int_array = array.array('i', [0] * 5)
print(int_array)
# ผลลัพธ์: array('i', [0, 0, 0, 0, 0])
การเริ่มต้นอาร์เรย์หลายมิติด้วย NumPy
หากใช้ไลบรารี NumPy จะสามารถจัดการอาร์เรย์หลายมิติขนาดใหญ่ได้อย่างมีประสิทธิภาพ โดยเฉพาะในการคำนวณทางวิทยาศาสตร์และการวิเคราะห์ข้อมูลจะถูกใช้งานบ่อยครั้งimport numpy as np
numpy_array = np.zeros((3, 3))
print(numpy_array)
# ผลลัพธ์:
# [[0. 0. 0.]
# [0. 0. 0.]
# [0. 0. 0.]]
อาร์เรย์ของ NumPy มีประสิทธิภาพด้านการคำนวณสูง และเหมาะกับการประมวลผลข้อมูลขนาดใหญ่เมื่อเทียบกับลิสต์มาตรฐานของ Python6. การเปรียบเทียบวิธีการเริ่มต้นอาร์เรย์ใน Python
ในบทความนี้ เราได้อธิบายอย่างครอบคลุมเกี่ยวกับวิธีการเริ่มต้นลิสต์และอาร์เรย์ใน Python การทำความเข้าใจข้อดีของแต่ละวิธีและการเลือกใช้ให้เหมาะกับงาน จะช่วยให้คุณเขียนโค้ดได้อย่างมีประสิทธิภาพมากขึ้น。- การสร้างลิสต์ว่าง:เริ่มต้นได้อย่างเรียบง่ายด้วย
[]
หรือlist()
。 - List comprehension:สร้างลิสต์ขององค์ประกอบตามเงื่อนไขได้อย่างง่ายดาย。
- ลิสต์หลายมิติ:แสดงเป็นลิสต์ของลิสต์ พร้อมทั้งทำความเข้าใจข้อควรระวังด้วย。
- การเพิ่มและการรวมองค์ประกอบ:จัดการได้อย่างยืดหยุ่นด้วย
append()
,insert()
, และตัวดำเนินการ+
。 - array และ NumPy:โครงสร้างข้อมูลที่เหมาะสำหรับข้อมูลเชิงตัวเลขและการประมวลผลข้อมูลหลายมิติ。