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

โปรแกรมหลามรับดัชนีของแต่ละองค์ประกอบของรายการหนึ่งในรายการอื่น


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

นอกจากนี้ยังใช้การทำความเข้าใจรายการและใช้วิธี "รับ"

ตัวอย่าง

ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -

my_list = [14, 52, 23, 47, 18, 23, 12, 54, 43, 22, 28, 13]

print("The list is :")
print(my_list)

my_list_2 = [17, 52, 13]
print("The second list is :")
print(my_list_2)

element_indices = dict()
for index, value in enumerate(my_list):
   element_indices.setdefault(value, []).append(index)

my_result = [element_indices.get(index, [None]) for index in my_list_2]

print("The result is :")
print(my_result)

ผลลัพธ์

The list is :
[14, 52, 23, 47, 18, 23, 12, 54, 43, 22, 28, 13]
The second list is :
[17, 52, 13]
The result is :
[[None], [1], [11]]

คำอธิบาย

  • รายการจำนวนเต็มถูกกำหนดและแสดงบนคอนโซล

  • รายการจำนวนเต็มอื่นถูกกำหนดและแสดงบนคอนโซล

  • พจนานุกรมว่างเปล่าถูกสร้างขึ้น

  • รายการแรกจะถูกทำซ้ำโดยใช้ 'แจกแจง'

  • วิธี 'setdefault' ใช้เพื่อกำหนดค่าให้กับองค์ประกอบ

  • นี้ต่อท้ายพจนานุกรมว่าง

  • ความเข้าใจรายการใช้เพื่อวนซ้ำองค์ประกอบ และใช้วิธีการ 'รับ' เพื่อรับค่าดัชนีสำหรับองค์ประกอบในดัชนีที่สอง

  • สิ่งนี้ถูกเก็บไว้ในรายการและถูกกำหนดให้กับตัวแปร

  • รายการนี้จะแสดงเป็นเอาต์พุตบนคอนโซล