0Pricing
Competitive Programming Academy · บทเรียน

ลิสต์ การจัดทำดัชนี และการตัดช่วงสำหรับ CP

เข้าถึง ตัดช่วง และย้อนลำดับโดยไม่พลาดขอบเขต

ลิสต์ การจัดทำดัชนี และการตัดช่วงสำหรับ CP เป็นบทเรียน Competitive Programming Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Competitive Programming Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Competitive Programming Academy มีบทเรียนทั้งหมด 4 บทเรียน

เครื่องมือหลักในการแข่งขันของคุณ

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

a = [4, 1, 7, 3]

การกำหนดดัชนีเริ่มจากศูนย์

รายการใช้ดัชนีแบบเริ่มที่ศูนย์ ดังนั้น a[0] จึงเป็นสมาชิกตัวแรก การลืมเรื่องนี้เป็นข้อผิดพลาดคลาดไปหนึ่งแบบคลาสสิกที่ทำให้เสียคะแนนง่าย ๆ

a = [4, 1, 7, 3]
print(a[0])  # 4

เข้าถึงท้ายรายการจากด้านหลัง

ดัชนีติดลบจะนับจากด้านขวา ดังนั้น a[-1] จึงเป็นสมาชิกตัวสุดท้าย ไม่จำเป็นต้องคำนวณ len(a) - 1 เอง

a = [4, 1, 7, 3]
print(a[-1])  # 3

ยาวเท่าไร

ใช้ len(a) เพื่อหาจำนวนสมาชิก ดัชนีที่ถูกต้องจะเริ่มจาก 0 ถึง len(a) - 1 และไม่มีค่ามากกว่านั้น

a = [4, 1, 7, 3]
print(len(a))  # 4

ดึงส่วนย่อย

ส่วนย่อย a[i:j] จะเลือกสมาชิกตั้งแต่ดัชนี i จนถึงก่อน j โดยไม่รวมปลายด้านขวาเสมอ

a = [4, 1, 7, 3]
print(a[1:3])  # [1, 7]

ส่วนย่อยแบบไม่กำหนดปลาย

เว้นด้านใดด้านหนึ่งให้ว่างเพื่อไปจนถึงขอบ a[:k] จะเลือก k สมาชิกแรก ส่วน a[k:] จะเลือกทุกอย่างตั้งแต่ k เป็นต้นไป

a = [4, 1, 7, 3]
print(a[:2], a[2:])

ก้าวผ่านด้วยระยะก้าว

ตัวเลขตัวที่สามคือระยะก้าว a[::2] จะเลือกสมาชิกเว้นทุก ๆ สองตำแหน่ง ซึ่งมีประโยชน์สำหรับแยกตำแหน่งคู่และคี่

a = [4, 1, 7, 3]
print(a[::2])  # [4, 7]

กลับลำดับในครั้งเดียว

ระยะก้าว -1 จะกลับลำดับรายการ a[::-1] ให้สำเนาที่กลับลำดับโดยไม่แตะต้องรายการต้นฉบับ เหมาะอย่างยิ่งสำหรับตรวจคำพ้องกลับหน้าหลัง

a = [4, 1, 7, 3]
print(a[::-1])  # [3, 7, 1, 4]

การตัดส่วนย่อยสร้างสำเนา

การตัดส่วนย่อยจะส่งคืนรายการใหม่ ดังนั้น a[:] จึงเป็นสำเนาแบบตื้นที่สร้างได้อย่างรวดเร็ว การแก้ไขสำเนาจะไม่เปลี่ยนแปลงอาร์เรย์ต้นฉบับ

b = a[:]
b[0] = 99  # a is untouched

ตรวจขอบเขตปลอดภัยย่อมดีกว่าโปรแกรมล้ม

การอ่าน a[len(a)] จะทำให้เกิด IndexError ซึ่งเป็นข้อผิดพลาดขณะทำงานทันที โปรดตรวจสอบเสมอว่าดัชนีอยู่ภายในรายการ

if i < len(a):
    use(a[i])

การตัดส่วนย่อยไม่ทำให้โปรแกรมล้ม

ต่างจากการใช้ดัชนี ส่วนย่อยที่เกินขอบเขตจะไม่ทำให้เกิดข้อผิดพลาด a[2:99] จะส่งคืนเฉพาะสิ่งที่มีอยู่ และตัดจบที่ท้ายรายการอย่างเงียบ ๆ

a = [4, 1, 7, 3]
print(a[2:99])  # [7, 3]

ตรวจสอบอย่างรวดเร็ว

ทดสอบความเข้าใจเรื่องการตัดส่วนย่อยกับรายการขนาดเล็ก

ทบทวน: ใช้รายการได้คล่อง

ตอนนี้คุณใช้ดัชนีได้จากทั้งสองด้าน ตัดช่วงข้อมูล กำหนดระยะก้าว และกลับลำดับได้อย่างปลอดภัยแล้ว พื้นฐานของรายการเหล่านี้คือรากฐานของโจทย์อาร์เรย์ทุกข้อถัดไป 🚀

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

บทเรียน “ลิสต์ การจัดทำดัชนี และการตัดช่วงสำหรับ CP” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ลิสต์ การจัดทำดัชนี และการตัดช่วงสำหรับ CP” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Competitive Programming Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Competitive Programming Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ลิสต์ การจัดทำดัชนี และการตัดช่วงสำหรับ CP”

เข้าถึง ตัดช่วง และย้อนลำดับโดยไม่พลาดขอบเขต คุณปฏิบัติ Competitive Programming Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Competitive Programming Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Competitive Programming Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “ลิสต์ การจัดทำดัชนี และการตัดช่วงสำหรับ CP” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Competitive Programming Academy นี้ได้ไหม

ได้ บทเรียน Competitive Programming Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ลิสต์ การจัดทำดัชนี และการตัดช่วงสำหรับ CP
  2. สร้างอาร์เรย์อย่างรวดเร็วด้วยนิพจน์สร้างข้อมูล
  3. ค่าต่ำสุด ค่าสูงสุด ผลรวม และยอดสะสม
  4. ค้นหาดัชนี ไม่ใช่แค่ค่า
← กลับไปที่ Competitive Programming Academy