ในส่วนนี้ เราจะมาทำความเข้าใจการแบ่งส่วนรายการหลามและความเข้าใจรายการ
การแบ่งรายการคืออะไร
ตามชื่อที่แนะนำ สไลซ์ หมายถึง – หั่นบางสิ่งเป็นชิ้นเล็กๆ (ชิ้น) การแบ่งส่วนรายการเป็นกระบวนการแยกส่วนของรายการออกจากรายการดั้งเดิม ในการแบ่งส่วนรายการ เราจะตัดรายการตามสิ่งที่เราต้องการ (เช่น ที่ที่จะเริ่ม หยุด และส่วนที่เพิ่มขึ้นที่จะแบ่งตาม)
การทำความเข้าใจรายการคืออะไร
ความเข้าใจรายการกำลังสร้างรายการตามรายการที่มีอยู่ เป็นวิธีที่หรูหราในการกำหนดและสร้างรายการใหม่ตามรายการที่มีอยู่
รายการสไลซ์
ในขณะที่เรากำลังจะแบ่งรายการ มาสร้างรายการกันก่อน
>>> mylist = ["Which ", "Language ", "To ", "Choose ", "Difficult, ", "Python ", "Java ", "Kotlin ", "Many more"]
รายการสามารถจัดทำดัชนีย้อนหลังได้ โดยเริ่มต้นที่ -1 (องค์ประกอบสุดท้าย) และเพิ่มขึ้น -1 ดังนั้น -1 จะเป็นองค์ประกอบสุดท้าย -2 จะเป็นองค์ประกอบสุดท้ายที่สอง
>>> mylist_slice1 = mylist[0: -1:2] >>> mylist_slice1 ['Which ', 'To ', 'Difficult, ', 'Java ']
เมื่อทำการสไลซ์รายการ เราต้องเรียกรายการของเราก่อน (mylist ในกรณีของเรา) ตามด้วยข้อกำหนดสำหรับการสไลซ์ของเรา ต้องอยู่ในวงเล็บ [] อาร์กิวเมนต์ที่เราอาจต้องส่งผ่านภายใน [] คือ −
- อาร์กิวเมนต์แรก ดัชนีเพื่อเริ่มการแบ่งส่วน
- อาร์กิวเมนต์ที่สอง ดัชนีเพื่อหยุดการแบ่งส่วน
- อาร์กิวเมนต์ที่สาม ขั้นตอน/เพิ่มเพื่อแบ่งตาม (ตัวเลือก)
สุดท้ายก็จะออกมาประมาณนี้ −
mylist[START: STOP:STEP] >>> mylist_slice2 = mylist[1:-1:2] >>> mylist_slice2 ['Language ', 'Choose ', 'Python ', 'Kotlin ']
รายการความเข้าใจ
อย่างที่คุณทราบตอนนี้ (จากด้านบน) ความเข้าใจรายการกำลังสร้างรายการใหม่จากรายการที่มีอยู่ ขั้นแรก เรามาสร้างรายการ (รายการดั้งเดิม) กันก่อน ฉันใช้ฟังก์ชัน range() เพื่อสร้างรายการตัวเลขชั่วคราวสำหรับความเข้าใจในรายการของเรา
>>> mylist1 = [x for x in range(0, 40)] >>> mylist1 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39] >>> >>> mylist2 = [x for x in range(0,41) if x%2 == 0] >>> mylist2 [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40]
มาทำความเข้าใจกันว่าเกิดอะไรขึ้น ขั้นแรกเราจะสร้างตัวแปรชั่วคราวชื่อ “x” ตามด้วย for loop ที่วนซ้ำในช่วง 0 ถึง 40 ภายในวงเล็บ และเมื่อเรารันมัน มันจะสร้างรายการตัวเลขตั้งแต่ 0 ถึง 39 จากนั้นเราสร้างรายการอื่นและเพิ่มเงื่อนไขเข้าไป เงื่อนไขคือ “if x%2 ==0” หมายความว่าเรากำลังหาเลขคู่เท่านั้น
มาสร้างรายการอื่นโดยใช้สตริงเพื่อทำความเข้าใจรายการ
>>> strlist = ["This", "Is", "A" , "List" , "Of", "Strings", "For", "List", "Comprehension"] >>> print([x.lower() for x in strlist]) ['this', 'is', 'a', 'list', 'of', 'strings', 'for', 'list', 'comprehension']
ด้านบนเรามีรายการสตริง และเราใช้รายการตัวพิมพ์เล็กโดยใช้ความเข้าใจรายการ