รายการในภาษาไพธอน
ในบทความนี้ เราจะอธิบายเกี่ยวกับรายการในภาษาไพธอน
คุณสามารถเรียนรู้การดำเนินการต่าง ๆ กับรายการและการใช้ list comprehensions พร้อมตัวอย่างโค้ด
YouTube Video
รายการในภาษาไพธอน
ในภาษาไพธอน โครงสร้างข้อมูลที่ถูกเรียกเป็นอาร์เรย์มักจะถูกใช้งานเป็น 'รายการ' รายการในภาษาไพธอนมีความยืดหยุ่นสูงและรองรับการดำเนินการดังต่อไปนี้:
สร้างรายการ
1# Create an empty list
2my_list = []
3print(my_list)
4
5# Create a list with elements
6my_list = [1, 2, 3, 4, 5]
7print(my_list)
- คุณสามารถสร้างลิสต์เปล่าหรือกำหนดสมาชิกเริ่มต้นได้
การเข้าถึงและแก้ไของค์ประกอบในรายการ
1my_list = [1, 2, 3, 4, 5]
2print(my_list) # [1, 2, 3, 4, 5]
3
4element = my_list[0] # Get the element at index 0
5print(element) # 1
6
7my_list[1] = 10 # Change the element at index 1 to 10
8print(my_list) # [1, 10, 3, 4, 5]
- สามารถเข้าถึงหรือแก้ไขสมาชิกของลิสต์ได้โดยระบุค่าอินเด็กซ์
การหาความยาวของรายการ
1my_list = [1, 2, 3, 4, 5]
2
3length = len(my_list)
4print(my_list)
5print(length)
- โดยใช้ฟังก์ชัน
len()
คุณสามารถรับจำนวนสมาชิกในลิสต์ได้
การเพิ่มและแทรกสมาชิกลงในลิสต์
1my_list = [1, 2, 3, 4, 5]
2
3my_list.append(6)
4print(my_list)
- โดยใช้เมธอด
append()
คุณสามารถเพิ่มสมาชิกไปยังท้ายลิสต์ได้
1my_list = [1, 2, 3, 4, 5]
2
3my_list.insert(2, "A") # Insert "A" at index 2
4print(my_list)
- โดยใช้เมธอด
insert()
คุณสามารถแทรกสมาชิกในตำแหน่งใดก็ได้
ลบองค์ประกอบออกจากรายการ
1my_list = [1, 2, 3, 4, 5]
2
3del my_list[2] # Delete the element at index 2
4print(my_list)
5
6removed_element = my_list.pop(0) # Delete and return the element at index 0
7print(removed_element)
8print(my_list)
- โดยใช้คำสั่ง
del
หรือเมธอดpop()
คุณสามารถลบสมาชิกที่ตำแหน่งที่กำหนดได้ เมธอดpop()
จะส่งค่าสมาชิกที่ถูกลบกลับมา
1my_list = [1, 2, 3, 4, 5]
2
3my_list.remove(5) # Remove the first occurrence of 5 from the list
4print(my_list)
- โดยใช้เมธอด
remove()
คุณสามารถลบสมาชิกตัวแรกที่มีค่าตามที่กำหนดได้
การตัดรายการ (List Slicing)
1my_list = [1, 2, 3, 4, 5]
2
3print(my_list[1:3]) # [2, 3]
4print(my_list[:3]) # [1, 2, 3]
5print(my_list[2:]) # [3, 4, 5]
6print(my_list[:]) # [1, 2, 3, 4, 5]
- ไวยากรณ์การตัดลิสต์
[start:end]
จะดึงสมาชิกตั้งแต่start
ถึงend - 1
คุณสามารถละเว้นstart
หรือend
ก็ได้
การเรียงลำดับลิสต์
1my_list = [2, 1, 5, 4, 3]
2print(my_list) # [2, 1, 5, 4, 3]
3
4my_list.sort() # Sort in ascending order (modifies the list)
5print(my_list) # [1, 2, 3, 4, 5]
6
7my_list.sort(reverse=True) # Sort in descending order
8print(my_list) # [5, 4, 3, 2, 1]
- เมธอด
sort()
สามารถเรียงลำดับลิสต์ได้ทั้งจากน้อยไปมากและมากไปน้อย
1my_list = [3, 1, 4, 2]
2sorted_list = sorted(my_list)
3print(my_list) # [3, 1, 4, 2]
4print(sorted_list) # [1, 2, 3, 4]
- ฟังก์ชัน
sorted()
ช่วยให้คุณสร้างลิสต์ใหม่ที่จัดเรียงแล้วโดยไม่เปลี่ยนแปลงลิสต์ต้นฉบับ
การสร้างลิสต์ในลำดับย้อนกลับ
1my_list = [1, 2, 3, 4, 5]
2
3my_list.reverse()
4print(my_list)
- เมธอด
reverse()
สามารถสลับลำดับสมาชิกในลิสต์ได้
การทำความเข้าใจรายการ (List Comprehension)
ในภาษา Python คุณสามารถใช้ไวยากรณ์ list comprehension อันทรงพลังเพื่อสร้างลิสต์ได้อย่างกระชับ list comprehension ทำให้คุณสามารถเขียนขั้นตอนสร้างลิสต์ใหม่โดยใช้ for-loop ได้ในบรรทัดเดียว คุณยังสามารถใช้เงื่อนไขเพื่อดึงสมาชิกบางส่วนที่ต้องการได้ด้วย
1# Generate squares of numbers from 0 to 9
2squares = [x**2 for x in range(10)]
3print(squares) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
4
5# Use a condition to extract squares of even numbers only
6even_squares = [x**2 for x in range(10) if x % 2 == 0]
7print(even_squares) # [0, 4, 16, 36, 64]
8
9# Store either the square or the original number based on a condition
10squares_or_original = [x**2 if x % 2 == 0 else x for x in range(10)]
11print(squares_or_original)
12# Output: [0, 1, 4, 3, 16, 5, 36, 7, 64, 9]
- ด้วย list comprehension คุณสามารถสร้างลิสต์ใหม่ด้วยการใช้ลูปและเงื่อนไขได้อย่างกระชับ โดยการใช้
if
และif-else
คุณสามารถสร้าง list comprehension ที่ดึงข้อมูลหรือสร้างค่าต่างๆ ตามเงื่อนไขได้
การเชื่อมโยงรายชื่อ
1# Concatenate two lists using the + operator
2a = [1, 2, 3]
3b = [4, 5, 6]
4combined = a + b
5print(combined) # [1, 2, 3, 4, 5, 6]
6
7# Extend an existing list with another list
8a = [1, 2, 3]
9b = [4, 5, 6]
10a.extend(b)
11print(a) # [1, 2, 3, 4, 5, 6]
12
13# Concatenate multiple lists using unpacking (*)
14a = [1, 2, 3]
15b = [4, 5, 6]
16c = [7, 8, 9]
17merged = [*a, *b, *c]
18print(merged) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
- ในภาษา Python คุณสามารถเชื่อมโยงรายชื่อโดยใช้ตัวดำเนินการ
+
, เมธอดextend()
หรือไวยากรณ์การแยกแพ็ค (*
) โดยปกติจะใช้+
หรือ*
เมื่อสร้างรายชื่อใหม่ และใช้extend()
เมื่อต้องการอัพเดตรายชื่อที่มีอยู่แล้ว
สรุป
รายการ (Lists) เป็นโครงสร้างข้อมูลพื้นฐานใน Python และถูกใช้งานในหลาย ๆ สถานการณ์ มีฟีเจอร์ที่ยืดหยุ่นและเป็นประโยชน์มากมาย หากเชี่ยวชาญจะทำให้การเขียนโปรแกรมมีประสิทธิภาพมากขึ้น
คุณสามารถติดตามบทความข้างต้นโดยใช้ Visual Studio Code บนช่อง YouTube ของเรา กรุณาตรวจสอบช่อง YouTube ด้วย