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

ค้นหาลำดับขององค์ประกอบในรายการใน Python


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

ด้วยการเรียงลำดับและดัชนี

ก่อนอื่นเราจัดเรียงรายการทั้งหมดแล้วค้นหาดัชนีของแต่ละรายการหลังจากการจัดเรียง

ตัวอย่าง

listA = [78, 14, 0, 11]
# printing original list
print("Given list is : \n",listA)
# using sorted() and index()
res = [sorted(listA).index(i) for i in listA]
# printing result
print("list with relative ordering of elements : \n",res)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given list is :
[78, 14, 0, 11]
list with relative ordering of elements :
[3, 2, 0, 1]

มีการแจกแจงและเรียงลำดับ

ด้วยฟังก์ชัน enumerate และ sorted เราจะดึงข้อมูลแต่ละองค์ประกอบ จากนั้นจึงสร้างคอนเทนเนอร์พจนานุกรมที่มีฟังก์ชัน enumerate และ sorted เราได้รับแต่ละองค์ประกอบผ่านคอนเทนเนอร์นี้โดยใช้ฟังก์ชันแผนที่

ตัวอย่าง

listA = [78, 14, 0, 11]
# printing original list
print("Given list is : \n",listA)
# using sorted() and enumerate
temp = {val: key for key, val in enumerate(sorted(listA))}
res = list(map(temp.get, listA))
# printing result
print("list with relative ordering of elements : \n",res)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given list is :
[78, 14, 0, 11]
list with relative ordering of elements :
[3, 2, 0, 1]