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 ฟังก์ชันที่ใช้สำหรับสร้างลำดับใหม่ (เช่น รายการ พจนานุกรม ฯลฯ) โดยใช้ลำดับที่สร้างขึ้นแล้ว

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