6 วิธีที่แตกต่างในการแสดงรายการใน Python

6 วิธีที่แตกต่างในการแสดงรายการใน Python

โหนดต้นทาง: 3091325

บทนำ

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

ลงทะเบียนกับเรา หลักสูตรฟรี ของหลาม

สารบัญ

พิมพ์รายการใน Python

การพิมพ์ รายการใน Python จะเปิดวิธีการต่างๆ ขึ้นมา และในบทความนี้ เราจะสำรวจวิธีการที่มีประสิทธิภาพหลายประการ:

  • ใช้สำหรับลูป
  • แปลงรายการเป็นสตริงเพื่อแสดง
  • การใช้พารามิเตอร์ sep ใน print()
  • การใช้ฟังก์ชัน map()
  • การใช้การจัดทำดัชนีและการแบ่งส่วน
  • การใช้รายการความเข้าใจ

แสดงรายการใน Python โดยใช้ For Loop

วนซ้ำรายการตั้งแต่ 0 จนถึงความยาวและพิมพ์แต่ละองค์ประกอบแยกกันโดยใช้ for loop นี่เป็นวิธีการทั่วไปในการทำให้สำเร็จ

ด้านล่างนี้เป็นตัวอย่างของการแสดงรายการใน Python โดยใช้ for loop:

# Creating a list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Displaying each fruit using a for loop

print("List of Fruits:")

for fruit in fruits:

    print(fruit)

ในตัวอย่างนี้ เรามีรายการผลไม้ และ for loop จะวนซ้ำแต่ละรายการในรายการ โดยแสดงทีละรายการ

Output:

กำลังแสดงรายการ

ความซับซ้อนของเวลา (O(n)):

ความซับซ้อนของเวลาคือ O(n) เนื่องจากใน for loop แต่ละองค์ประกอบในรายการจะถูกเยี่ยมชมหนึ่งครั้ง และเวลาที่ใช้ในการดำเนินการวนซ้ำจะเป็นสัดส่วนโดยตรงกับจำนวนองค์ประกอบในรายการอินพุต

ความซับซ้อนของอวกาศ (O(1)):

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

แสดงรายการโดยแปลงเป็นสตริง

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

นี่คือตัวอย่าง:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Convert the list to a string and display it

result_string = ', '.join(fruits)

print("List of Fruits: " + result_string)

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

Output:

กำลังแสดงรายการ

ความซับซ้อนของเวลา (O(n)):

ความซับซ้อนของเวลาคือ O(n) เนื่องจากใน for loop แต่ละองค์ประกอบในรายการจะได้รับการประมวลผลเพียงครั้งเดียว และเวลาดำเนินการจะปรับขนาดเชิงเส้นตรงกับจำนวนองค์ประกอบในรายการอินพุต เมื่ออินพุตเพิ่มขึ้น รันไทม์ของอัลกอริทึมก็จะเพิ่มขึ้นตามสัดส่วน

ความซับซ้อนของอวกาศ (O(1)):

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

แสดงด้วยพารามิเตอร์ sep ใน Print()

พารามิเตอร์ sep ในฟังก์ชัน print() ช่วยให้คุณสามารถระบุตัวคั่นระหว่างรายการที่คุณกำลังพิมพ์ได้ 

การใช้เครื่องหมายดอกจัน (*) ช่วยให้คุณสามารถนำเสนอองค์ประกอบรายการในบรรทัดเดียวโดยมีช่องว่าง สำหรับการแสดงแต่ละองค์ประกอบขึ้นบรรทัดใหม่หรือคั่นด้วยเครื่องหมายจุลภาค ให้ใช้ sep=”n” หรือ sep=”, ” ตามลำดับ 

นี่คือตัวอย่างการใช้รายการผลไม้:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Displaying the list with a custom separator using the sep parameter

print("List of Fruits:", *fruits, sep=", ")

ในตัวอย่างนี้ sep=”, ” ระบุว่าควรใช้ลูกน้ำและช่องว่างเป็นตัวคั่นระหว่างรายการในรายการ

Output:

ความซับซ้อนของเวลา (O(n)):

ความซับซ้อนของเวลาคือ O(n) เนื่องจากเมื่อใช้ for loop แต่ละองค์ประกอบในรายการจะถูกประมวลผลทีละรายการ เมื่อจำนวนองค์ประกอบ (n) เพิ่มขึ้น เวลาดำเนินการจะเพิ่มขึ้นเป็นเส้นตรง ซึ่งสะท้อนถึงความสัมพันธ์โดยตรงระหว่างขนาดอินพุตและเวลาในการคำนวณ

ความซับซ้อนของอวกาศ (O(1)):

ความซับซ้อนของพื้นที่คือ O(1) เนื่องจากอัลกอริธึมใช้จำนวนหน่วยความจำที่สอดคล้องกัน โดยไม่ขึ้นกับขนาดอินพุต การวนซ้ำใช้ชุดตัวแปรคงที่ (เช่น 'องค์ประกอบ') และหลีกเลี่ยงการสร้างโครงสร้างข้อมูลเพิ่มเติมหรือการจัดสรรหน่วยความจำแบบไดนามิกที่สัมพันธ์กับขนาดอินพุต

แสดงรายการใน Python โดยใช้ฟังก์ชัน Map()

ใช้ฟังก์ชัน map() เพื่อให้แน่ใจว่าทุกรายการในรายการเป็นสตริง โดยเฉพาะอย่างยิ่งเมื่อรายการมีองค์ประกอบที่ไม่ใช่สตริง ต่อไปนี้ ให้รวมองค์ประกอบที่แปลงแล้วเหล่านี้โดยใช้ฟังก์ชันการรวมสำหรับการแสดงผลแบบรวม

นี่คือตัวอย่างการแสดงรายการผลไม้ใน Python:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Displaying the list of fruits

print("List of Fruits:", fruits)

Output:

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

แสดงรายการใน Python โดยใช้การจัดทำดัชนีและการแบ่งส่วน

คุณสามารถแสดงรายการใน Python ได้โดยใช้การสร้างดัชนีและการแบ่งส่วนเพื่อเข้าถึงองค์ประกอบเฉพาะหรือชุดย่อยของรายการ 

นี่คือตัวอย่าง:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Displaying the entire list

print("Complete List of Fruits:", fruits)

# Displaying specific elements using indexing

print("First Fruit:", fruits[0])

print("Third Fruit:", fruits[2])

# Displaying a subset using slicing

print("Subset of Fruits:", fruits[1:4])

Output:

ในตัวอย่างนี้ การทำดัชนีใช้เพื่อเข้าถึงแต่ละองค์ประกอบ (เช่น ผลไม้[0] สำหรับองค์ประกอบแรก) และการแบ่งส่วนใช้เพื่อแสดงรายการย่อย (เช่น ผลไม้[1:4] สำหรับองค์ประกอบที่ดัชนี 1 2 และ 3)

ความซับซ้อนของเวลา (O(n)):

ความซับซ้อนของเวลาคือ O(n) เนื่องจากการวนซ้ำรายการโดยใช้การจัดทำดัชนีหรือการแบ่งส่วนเกี่ยวข้องกับการเยี่ยมชมแต่ละองค์ประกอบเพียงครั้งเดียว เมื่อขนาดของรายการ (n) เพิ่มขึ้น เวลาที่ใช้ในการเข้าถึงหรือแบ่งส่วนรายการจะเพิ่มขึ้นเป็นเส้นตรง

ความซับซ้อนของอวกาศ (O(1)):

ความซับซ้อนของพื้นที่คือ O(1) สำหรับการดำเนินการจัดทำดัชนีและการแบ่งส่วน เนื่องจากใช้หน่วยความจำเพิ่มเติมในปริมาณคงที่ โดยไม่คำนึงถึงขนาดของรายการ หน่วยความจำที่จำเป็นสำหรับตัวแปรดัชนี/สไลซ์จะคงที่ ไม่มีการปรับขนาดตามขนาดอินพุต

แสดงรายการใน Python โดยใช้ List Comprehension

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

ต่อไปนี้เป็นตัวอย่างของการแสดงรายการผลไม้ที่แก้ไขโดยใช้รายการความเข้าใจ:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Using list comprehension to create a new list with capitalized fruits

capitalized_fruits = [fruit.capitalize() for fruit in fruits]

# Displaying the new list

print("Capitalized Fruits:", capitalized_fruits)

Output:

กำลังแสดงรายการ

ในตัวอย่างนี้ ความเข้าใจรายการถูกใช้เพื่อสร้างรายการใหม่ (capitalized_fruits) ผลลัพธ์คือรายการผลไม้ที่มีชื่อเป็นตัวพิมพ์ใหญ่

ความซับซ้อนของเวลา (O(n)):

ความซับซ้อนของเวลาคือ O(n) สำหรับตัวอย่างนี้ เนื่องจากจะวนซ้ำแต่ละองค์ประกอบในรายการผลไม้ดั้งเดิม เวลาดำเนินการจะแปรผันตามจำนวนผลไม้ ทำให้เป็นสัดส่วนกับขนาดของรายการอินพุต

ความซับซ้อนของอวกาศ (O(n)):

ความซับซ้อนของพื้นที่คือ O(n) เนื่องจากรายการความเข้าใจจะสร้างรายการใหม่ (ตัวพิมพ์ใหญ่_ผลไม้) ที่ขยายตามขนาดของรายการอินพุต (ผลไม้) แต่ละองค์ประกอบในรายการเดิมสอดคล้องกับองค์ประกอบในรายการใหม่ ซึ่งมีส่วนทำให้เกิดความสัมพันธ์เชิงเส้นตรงระหว่างขนาดอินพุตและหน่วยความจำที่ใช้

สรุป

ใน Python การเรียนรู้ศิลปะการพิมพ์รายการเป็นสิ่งสำคัญสำหรับการทำความเข้าใจโค้ดและการแสดงข้อมูลเป็นภาพ คู่มือนี้ได้สำรวจวิธีที่มีประสิทธิภาพในการแสดงรายการ 6 วิธี โดยมีตัวอย่างที่เป็นประโยชน์และเคล็ดลับเพื่อความชัดเจน ไม่ว่าจะใช้ลูป การแปลงสตริง ตัวคั่นแบบกำหนดเอง ฟังก์ชันแผนที่ การทำดัชนี การแบ่งส่วน หรือความเข้าใจรายการ แต่ละวิธีมีจุดประสงค์เฉพาะ ซึ่งจะช่วยพัฒนาทักษะการเขียนโปรแกรม Python ของคุณ

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

ไตรมาสที่ 1 เหตุใดจึงแนะนำให้ใช้ความเข้าใจรายการในการแสดงรายการ

A. แนะนำให้ใช้รายการความเข้าใจเนื่องจากมีไวยากรณ์ที่กระชับและมีประสิทธิภาพ ช่วยให้สามารถสร้างรายการที่แก้ไขด้วยโค้ดบรรทัดเดียว ทำให้โค้ดอ่านได้ง่ายขึ้น

ไตรมาสที่ 2 การจัดทำดัชนีส่งผลต่อความซับซ้อนของเวลาเมื่อแสดงรายการอย่างไร

A. การทำดัชนีมีเวลาซับซ้อน O(1) สำหรับการเข้าถึงแต่ละองค์ประกอบ โดยให้เวลาคงที่โดยไม่คำนึงถึงขนาดของรายการ อย่างไรก็ตาม การวนซ้ำรายการทั้งหมดโดยใช้การจัดทำดัชนีส่งผลให้เกิดความซับซ้อนของเวลา O(n)

ไตรมาสที่ 3 เมื่อใดจึงควรใช้พารามิเตอร์ sep ใน print()

A. พารามิเตอร์ sep มีประโยชน์เมื่อปรับแต่งตัวคั่นระหว่างรายการในรายการที่พิมพ์ ช่วยให้สามารถจัดระเบียบการแสดงผล โดยเฉพาะอย่างยิ่งเมื่อนำเสนอองค์ประกอบในบรรทัดเดียวหรือด้วยตัวคั่นเฉพาะ

ไตรมาสที่ 4 มีวิธีที่แนะนำในการแสดงรายการสตริงหรือไม่?

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

คำถามที่ 5: รายการความเข้าใจส่งผลกระทบต่อความซับซ้อนของพื้นที่อย่างไร

A5: List comprehension มีความซับซ้อนของพื้นที่เป็น O(n) โดยที่ n คือขนาดของรายการอินพุต โดยจะสร้างรายการใหม่โดยมีจำนวนองค์ประกอบเท่าเดิมกับรายการเดิม ดังนั้นจึงมีส่วนทำให้เกิดความสัมพันธ์เชิงเส้นตรงระหว่างขนาดอินพุตและการใช้หน่วยความจำ

ประทับเวลา:

เพิ่มเติมจาก การวิเคราะห์ วิทยา