เราสามารถเข้าถึงแต่ละองค์ประกอบของรายการโดยใช้วงเล็บ [] และหมายเลขดัชนี แต่เมื่อเราต้องการเข้าถึงดัชนีบางตัว เราก็ไม่สามารถใช้วิธีนี้ได้ เราต้องการแนวทางด้านล่างเพื่อแก้ไขปัญหานี้
ใช้สองรายการ
ในวิธีนี้ ร่วมกับรายการดั้งเดิม เรานำดัชนีมาเป็นรายการอื่น จากนั้นเราใช้ for วนซ้ำเพื่อวนซ้ำดัชนีและป้อนค่าเหล่านั้นในรายการหลักสำหรับการดึงค่า
ตัวอย่าง
given_list = ["Mon","Tue","Wed","Thu","Fri"] index_list = [1,3,4] # printing the lists print("Given list : " + str(given_list)) print("List of Indices : " + str(index_list)) # use list comprehension res = [given_list[n] for n in index_list] # Get the result print("Result list : " + str(res))
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given list : ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] List of Indices : [0, 1, 2, 3, 4] Result list : ['Tue', 'Thu', 'Fri']
การใช้ map และ geritem
แทนที่จะใช้ for loop ด้านบน เรายังสามารถใช้แผนที่และวิธี getitem เพื่อให้ได้ผลลัพธ์แบบเดียวกัน
ตัวอย่าง
given_list = ["Mon","Tue","Wed","Thu","Fri"] index_list = [1, 3,4] # printing the lists print("Given list : " + str(given_list)) print("List of Indices : " + str(index_list)) # use list comprehension res = list(map(given_list.__getitem__,index_list)) # Get the result print("Result list : " + str(res))
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given list : ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] List of Indices : [1, 3, 4] Result list : ['Tue', 'Thu', 'Fri']