Python รายการความเข้าใจ ผนวก เรียงลำดับ ความยาว [ตัวอย่าง]
อะไรคือ a Python รายการ?
รายการก็คือสิ่งที่ดูเหมือนเป็นคอนเทนเนอร์ที่มีสิ่งที่แตกต่างกัน Python วัตถุ ซึ่งอาจเป็นจำนวนเต็ม คำ ค่า ฯลฯ เทียบเท่ากับอาร์เรย์ในภาษาการเขียนโปรแกรมอื่น ๆ แสดงด้วยวงเล็บเหลี่ยม (และนี่คือหนึ่งในแอตทริบิวต์ที่แตกต่างจากทูเพิลซึ่งคั่นด้วยวงเล็บ) นอกจากนี้ยังสามารถเปลี่ยนแปลงได้ กล่าวคือ สามารถปรับเปลี่ยนหรืออัปเดตได้ ต่างจากทูเพิลซึ่งไม่สามารถเปลี่ยนแปลงได้
ตัวอย่างของ Python รายการ:
Python รายการสามารถเป็นแบบเดียวกัน ซึ่งหมายความว่าสามารถมีวัตถุประเภทเดียวกันได้ หรือเป็นแบบที่แตกต่างกัน ซึ่งหมายความว่ามีวัตถุประเภทต่างกัน
ตัวอย่างของรายการที่เป็นเนื้อเดียวกัน ได้แก่:
list of integers = [1, 2, 3, 8, 33] list of animals = ['dog', 'cat', 'goat'] list of names = ['John', 'Travis', 'Sheila'] list of floating numbers = [2.2, 4.5, 9.8, 10.4]
ตัวอย่างของรายการที่ไม่เป็นเนื้อเดียวกัน ได้แก่:
[2, 'cat', 34.33, 'Travis'] [2.22, 33, 'pen']
การเข้าถึงค่าภายในรายการ
ในการเข้าถึงค่าภายในรายการ สามารถใช้ดัชนีของออบเจ็กต์ภายในรายการได้ ดัชนีใน Python รายการหมายถึงตำแหน่งขององค์ประกอบภายในรายการที่เรียงลำดับ ตัวอย่างเช่น:
list = [3, 22, 30, 5.3, 20]
- ค่าแรกในรายการด้านบน 3 มีดัชนีเป็น 0
- ค่าที่สอง 22 มีดัชนีเป็น 1
- ค่าที่สาม 30 มีดัชนีเป็น 2
และอื่น ๆ หากต้องการเข้าถึงแต่ละค่าจากรายการ คุณจะต้องใช้:
list[0] to access 3 list[1] to access 22 list[2] to access 30 list[3] to access 5.3 list[4] to access 20
สมาชิกคนสุดท้ายของรายการยังสามารถเข้าถึงได้โดยใช้ดัชนี -1 ตัวอย่างเช่น,
list[-1] = 20
Python การแบ่งส่วนรายการ
การแบ่งส่วนรายการเป็นวิธีการแยกชุดย่อยของรายการ และดัชนีของออบเจ็กต์รายการก็ใช้สำหรับสิ่งนี้เช่นกัน ตัวอย่างเช่น การใช้ตัวอย่างรายการเดียวกันข้างต้น
list[:] = [3, 22, 30, 5.3, 20] (all the members of the list]; list[1:3] = [22, 30] (members of the list from index 1 to index 3, without the member at index 3); list[:4] = [3, 22, 30, 5.3] (members of the list from index 0 to index 4, without the member at index 4) list[2:-1] = [30, 5.3] (members of the list from index 2, which is the third element, to the second to the last element in the list, which is 5.3).
Python รายการเป็นแบบเอกสิทธิ์เฉพาะบุคคล และซึ่งหมายความว่าดัชนีสุดท้ายระหว่างการแบ่งส่วนรายการมักจะถูกละเว้น นั่นคือเหตุผล
list[2:-1] = [30, 5.3]
และไม่ใช่ [30, 5.3, 20] เช่นเดียวกับตัวอย่างการแบ่งส่วนรายการอื่นๆ ที่ให้ไว้ข้างต้น
กำลังอัปเดตรายการ
สมมติว่าคุณมีรายการ = [ฟิสิกส์ เคมี คณิตศาสตร์] และคุณต้องการเปลี่ยนรายการเป็น [ชีววิทยา เคมี คณิตศาสตร์] เปลี่ยนสมาชิกอย่างมีประสิทธิภาพที่ดัชนี 0 ซึ่งสามารถทำได้ง่ายๆ โดยกำหนดดัชนีนั้นให้กับ สมาชิกใหม่ที่คุณต้องการ
นั่นคือ,
list = [physics, chemistry, mathematics]
list[0] = biology
print(list)
เอาท์พุต: [ชีววิทยา เคมี คณิตศาสตร์]
ซึ่งจะแทนที่สมาชิกที่ดัชนี 0 (ฟิสิกส์) ด้วยค่าใหม่ที่คุณต้องการ (เคมี) ซึ่งสามารถทำได้สำหรับสมาชิกหรือเซ็ตย่อยของรายการที่คุณต้องการเปลี่ยนแปลง
เพื่อยกตัวอย่างอื่น สมมติว่าคุณมีรายการชื่อจำนวนเต็มและประกอบด้วยตัวเลข [2, 5, 9, 20, 27] หากต้องการแทนที่ 5 ในรายการนั้นด้วย 10 คุณสามารถทำได้ดังนี้:
integers = [2, 5, 9, 20, 27]
integers[1] = 10
print(integers)
>>> [2, 10, 9, 20, 27]
หากต้องการแทนที่สมาชิกตัวสุดท้ายของรายการจำนวนเต็ม ซึ่งก็คือ 27 โดยมีตัวเลขอิสระ เช่น 30.5 คุณจะต้องใช้:
integers = [2, 5, 9, 20, 27]
integers[-1] = 30.5
print(integers)
>>> [2, 5, 9, 20, 30.5]
การลบองค์ประกอบรายการ
มี 3 เป็น Python วิธีการสำหรับการลบองค์ประกอบรายการ: list.remove(), list.pop() และตัวดำเนินการ del วิธีการ Remove จะใช้องค์ประกอบที่ต้องการลบเป็นอาร์กิวเมนต์ ในขณะที่ pop และ del จะใช้ดัชนีขององค์ประกอบที่ต้องการลบเป็นอาร์กิวเมนต์ ตัวอย่างเช่น:
รายการ = [3, 5, 7, 8, 9, 20]
หากต้องการลบ 3 (องค์ประกอบที่ 1) ออกจากรายการ คุณสามารถใช้:
- list.remove(3) หรือ
- list.pop[0] หรือ
- เดลลิสต์[0]
หากต้องการลบ 8 รายการที่ดัชนี 3 ออกจากรายการ คุณสามารถใช้:
- list.remove(8) หรือ
- รายการ.ป๊อป[3]
ผนวกองค์ประกอบรายการ
หากต้องการผนวกองค์ประกอบเข้ากับรายการ จะใช้วิธีการผนวก และเพิ่มองค์ประกอบที่ส่วนท้ายของรายการ
ตัวอย่างเช่น:
list_1 = [3, 5, 7, 8, 9, 20]
list_1.append(3.33)
print(list_1)
>>> list_1 = [3, 5, 7, 8, 9, 20, 3.33]
list_1.append("cats")
print(list_1)
>>> list_1 = [3, 5, 7, 8, 9, 20, 3.33, "cats"]
แสดงรายการฟังก์ชันในตัว (วิธีการ)
ต่อไปนี้คือรายการฟังก์ชันและวิธีการในตัวพร้อมคำอธิบาย:
- เลน (รายการ): นี่จะให้ความยาวของรายการเป็นเอาต์พุต ตัวอย่างเช่น:
numbers = [2, 5, 7, 9] print(len(numbers)) >>> 4
- สูงสุด (รายการ): ส่งคืนรายการในรายการที่มีค่าสูงสุด ตัวอย่างเช่น:
numbers = [2, 5, 7, 9] print(max(numbers)) >>> 9
- นาที(รายการ): ส่งคืนรายการในรายการที่มีค่าต่ำสุด ตัวอย่างเช่น:
numbers = [2, 5, 7, 9] print(min(numbers)) >>> 2
- รายการ (สิ่งอันดับ): แปลงวัตถุทูเพิลเป็นรายการ ตัวอย่างเช่น;
animals = (cat, dog, fish, cow) print(list(animals)) >>> [cat, dog, fish, cow]
- รายการ.ผนวก(องค์ประกอบ): ผนวกองค์ประกอบเข้ากับรายการ ตัวอย่างเช่น;
numbers = [2, 5, 7, 9] numbers.append(15) print(numbers) >>> [2, 5, 7, 9, 15]
- รายการ.ป๊อป(ดัชนี): ลบองค์ประกอบที่ดัชนีที่ระบุออกจากรายการ ตัวอย่างเช่น;
numbers = [2, 5, 7, 9, 15] numbers.pop(2) print(numbers) >>> [2, 5, 9, 15]
- รายการ.ลบ(องค์ประกอบ): ลบองค์ประกอบออกจากรายการ ตัวอย่างเช่น;
values = [2, 5, 7, 9] values.remove(2) print(values) >>> [5, 7, 9]
- รายการย้อนกลับ(): ย้อนกลับวัตถุของรายการ ตัวอย่างเช่น;
values = [2, 5, 7, 10] values.reverse() print(values) >>> [10, 7, 5, 2]
- รายการ.ดัชนี(องค์ประกอบ): เพื่อรับค่าดัชนีขององค์ประกอบภายในรายการ ตัวอย่างเช่น;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']
fish_index = animals.index('fish')
print(fish_index)
>>> 2
- รวม(รายการ): เพื่อรับผลรวมของค่าทั้งหมดในรายการ ถ้าค่าเป็นตัวเลขทั้งหมด (จำนวนเต็มหรือทศนิยม) ตัวอย่างเช่น
values = [2, 5, 10] sum_of_values = sum(values) print(sum_of_values) >>> 17
หากรายการมีองค์ประกอบใดๆ ที่ไม่ใช่ตัวเลข เช่น สตริง วิธีการรวมจะไม่ทำงาน คุณจะได้รับข้อผิดพลาดว่า: “ประเภทข้อผิดพลาด: ประเภทตัวดำเนินการที่ไม่รองรับสำหรับ +: 'int' และ 'str'”
- list.sort() เพื่อจัดเรียงรายการของจำนวนเต็ม ตัวเลขทศนิยมลอยตัว หรือสตริง ตามลำดับจากน้อยไปมากหรือจากมากไปน้อย ตัวอย่างเช่น:
values = [1, 7, 9, 3, 5] # To sort the values in ascending order: values.sort() print(values) >>> [1, 3, 5, 7, 9]
อีกตัวอย่างหนึ่ง:
values = [2, 10, 7, 14, 50] # To sort the values in descending order: values.sort(reverse = True) print(values) >>> [50, 14, 10, 7, 2]
รายการสตริงสามารถจัดเรียงได้ทั้งตามตัวอักษรหรือตามความยาวของสตริง ตัวอย่างเช่น;
# to sort the list by length of the elements
strings = ['cat', 'mammal', 'goat', 'is']
sort_by_alphabet = strings.sort()
sort_by_length = strings.sort(key = len)
print(sort_by_alphabet)
print(sort_by_length)
>>> ['cat', 'goat', 'is', 'mammal']
['is', 'cat', 'goat', 'mammal']
เราสามารถเรียงลำดับรายการเดียวกันตามตัวอักษรได้โดยใช้ 'strings'
วนซ้ำรายการต่างๆ
การวนซ้ำรายการต่างๆ สามารถทำได้ในลักษณะเดียวกับฟังก์ชันการวนซ้ำอื่นๆ Python- วิธีนี้ทำให้สามารถดำเนินการเมธอดกับหลายองค์ประกอบของรายการได้ในเวลาเดียวกัน ตัวอย่างเช่น:
รายการ = [10, 20, 30, 40, 50, 60, 70]
หากต้องการวนซ้ำองค์ประกอบทั้งหมดของรายการนี้ และสมมติว่าเพิ่ม 10 ลงในแต่ละองค์ประกอบ:
for elem in list:
elem = elem + 5
print(elem)
>>>>15
25
35
45
55
65
75
เพื่อวนซ้ำสามองค์ประกอบแรกของรายการ และลบองค์ประกอบทั้งหมด
for elem in list[:3]:
list.remove(elem)
>>>list = [40, 50, 60, 70]
เพื่อวนซ้ำผ่าน 3rd (ดัชนี 2) ไปยังองค์ประกอบสุดท้ายในรายการ และผนวกเข้ากับรายการใหม่ที่เรียกว่า new_list:
new_list = []
for elem in list[2:]:
new_list.append(elem)
print(“New List: {}”.format(new_list))
Output:
New List: [30, 40, 50, 60, 70]
ด้วยวิธีนี้ วิธีการหรือฟังก์ชันใดๆ ก็สามารถนำไปใช้กับสมาชิกของรายการเพื่อดำเนินการบางอย่างได้ คุณสามารถวนซ้ำผ่านสมาชิกทั้งหมดของรายการหรือวนซ้ำผ่านเซ็ตย่อยของรายการได้โดยใช้การแบ่งรายการ
แสดงรายการความเข้าใจ Python
รายการความเข้าใจคือ Python ฟังก์ชันที่ใช้สำหรับสร้างลำดับใหม่ (เช่น รายการ พจนานุกรม ฯลฯ) โดยใช้ลำดับที่สร้างขึ้นแล้ว ช่วยลดการวนซ้ำที่ยาวขึ้นและทำให้โค้ดของคุณอ่านและบำรุงรักษาได้ง่ายขึ้น
ตัวอย่างเช่น สมมติว่าคุณต้องการสร้างรายการซึ่งประกอบด้วยกำลังสองของตัวเลขทั้งหมดตั้งแต่ 1 ถึง 9:
list_of squares = []
for int in range(1, 10):
square = int ** 2
list_of_squares.append(square)
print(list_of_squares)
List_of_squares using for loop:
[1, 4, 9, 16, 25, 36, 49, 64, 81]
หากต้องการทำสิ่งเดียวกันกับรายการความเข้าใจ:
list_of_squares_2 = [int**2 for int in range(1, 10)]
print('List of squares using list comprehension: {}'.format(list_of_squares_2))
Output using list comprehension:
[1, 4, 9, 16, 25, 36, 49, 64, 81]
ดังที่เห็นข้างต้น การเขียนโค้ดโดยใช้ list comprehensions นั้นสั้นกว่าการใช้ for loop แบบดั้งเดิมมาก และยังเร็วกว่าด้วย นี่เป็นเพียงตัวอย่างหนึ่งของการใช้ list comprehensions แทน for loop แต่สามารถทำซ้ำและนำไปใช้ได้ในหลาย ๆ ที่ซึ่งสามารถใช้ for loop ได้เช่นกัน บางครั้งการใช้ for loop อาจเป็นทางเลือกที่ดีกว่า โดยเฉพาะถ้าโค้ดมีความซับซ้อน แต่ในหลายๆ กรณี list comprehensions จะทำให้การเขียนโค้ดของคุณง่ายและรวดเร็วยิ่งขึ้น
ด้านล่างนี้เป็นตารางที่ประกอบด้วยรายการฟังก์ชันและวิธีการ และคำอธิบาย
ฟังก์ชั่นในตัว
| ฟังก์ชั่น | DESCRIPTION |
|---|---|
| กลม() | ปัดเศษตัวเลขที่ส่งผ่านเป็นอาร์กิวเมนต์ให้เป็นจำนวนหลักที่ระบุ และส่งกลับค่าจุดทศนิยม |
| นาที() | กลับองค์ประกอบขั้นต่ำของรายการที่กำหนด |
| แม็กซ์ () | กลับองค์ประกอบสูงสุดของรายการที่กำหนด |
| เลน () | ส่งกลับความยาวของรายการ |
| แจงนับ() | ฟังก์ชันในตัวนี้สร้างทั้งค่าและดัชนีของรายการในการวนซ้ำ ดังนั้นเราจึงไม่จำเป็นต้องนับด้วยตนเอง |
| กรอง() | ทดสอบว่าแต่ละองค์ประกอบของรายการเป็นจริงหรือไม่ |
| แลมบ์ดา | นิพจน์ที่สามารถปรากฏในตำแหน่งที่ def (สำหรับการสร้างฟังก์ชัน) ไม่ใช่วากยสัมพันธ์ภายในรายการลิเทอรัลหรืออาร์กิวเมนต์การเรียกใช้ฟังก์ชัน |
| แผนที่() | ส่งคืนรายการผลลัพธ์หลังจากใช้ฟังก์ชันที่กำหนดกับแต่ละรายการของการทำซ้ำที่กำหนด |
| สะสม() | ใช้ฟังก์ชันเฉพาะที่ส่งผ่านอาร์กิวเมนต์กับองค์ประกอบรายการทั้งหมดส่งคืนรายการที่มีผลลัพธ์ระดับกลาง |
| ผลรวม() | คืนค่าผลรวมของตัวเลขทั้งหมดในรายการ |
| ซีเอ็มพี() | ใช้สำหรับการเปรียบเทียบสองรายการและส่งกลับ 1 หากรายการแรกมากกว่ารายการที่สอง |
| สิ่งที่ใส่เข้าไป | แทรกองค์ประกอบเพื่อแสดงรายการในตำแหน่งที่ต้องการ |
รายการวิธีการ
| ฟังก์ชั่น | DESCRIPTION |
|---|---|
| ผนวก() | เพิ่มรายการใหม่ต่อท้ายรายการ |
| ชัดเจน() | ลบรายการทั้งหมดออกจากรายการ |
| สำเนา() | ส่งกลับสำเนาของรายการต้นฉบับ |
| ขยาย() | เพิ่มหลายรายการต่อท้ายรายการ |
| นับ() | ส่งกลับจำนวนครั้งของรายการใดรายการหนึ่งในรายการ |
| ดัชนี() | ส่งกลับดัชนีขององค์ประกอบเฉพาะของรายการ |
| โผล่() | ลบรายการออกจากรายการที่ดัชนีเฉพาะ (ลบตามตำแหน่ง) |
| ลบ() | ลบรายการที่ระบุออกจากรายการ (ลบตามค่า) |
| Revเอ่อ() | วิธีการกลับรายการแบบแทนที่ซึ่งกลับลำดับขององค์ประกอบของรายการ |
สรุป
- รายการก็คือสิ่งที่ดูเหมือนเป็นคอนเทนเนอร์ที่มีสิ่งที่แตกต่างกัน Python วัตถุซึ่งอาจเป็นจำนวนเต็ม คำ ค่า ฯลฯ
- Python รายการสามารถเป็นแบบเดียวกัน หมายความว่า สามารถมีวัตถุประเภทเดียวกันได้ หรือเป็นแบบหลากหลาย หมายความว่า ประกอบด้วยวัตถุประเภทต่าง ๆ ได้
- ในการเข้าถึงค่าภายในรายการ สามารถใช้ดัชนีของออบเจ็กต์ภายในรายการได้
- การแบ่งส่วนรายการเป็นวิธีการแยกชุดย่อยของรายการ และดัชนีของออบเจ็กต์รายการก็ใช้สำหรับสิ่งนี้เช่นกัน
- สามวิธีในการลบองค์ประกอบรายการคือ: 1)list.remove(), 2)list.pop() และ 3)ตัวดำเนินการ del
- วิธีการผนวกใช้ในการผนวกองค์ประกอบ นี่เป็นการเพิ่มองค์ประกอบที่ส่วนท้ายของรายการ
- วิธีการวนซ้ำของ Python โปรแกรมสามารถดำเนินการได้หลายองค์ประกอบของรายการข้อมูลในเวลาเดียวกัน
- รายการความเข้าใจคือ Python ฟังก์ชันที่ใช้สำหรับสร้างลำดับใหม่ (เช่น รายการ พจนานุกรม ฯลฯ) โดยใช้ลำดับที่สร้างขึ้นแล้ว
