Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การเข้าถึงองค์ประกอบทั้งหมดตามรายการดัชนีของ Python ที่กำหนด


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

ใช้สองรายการ

ในวิธีนี้ ร่วมกับรายการดั้งเดิม เรานำดัชนีมาเป็นรายการอื่น จากนั้นเราใช้ 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']