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

ค้นหาขั้นต่ำของแต่ละดัชนีในรายการของรายการใน Python


ในบางปัญหา เราจำเป็นต้องระบุค่าต่ำสุดของแต่ละองค์ประกอบในรายการ แต่ในการแก้การดำเนินการเมทริกซ์ เราต้องหาค่าต่ำสุดของแต่ละคอลัมน์ในเมทริกซ์ ที่ต้องการให้เราหาค่าต่ำสุดจากรายการ เนื่องจากแต่ละคอลัมน์ของเมทริกซ์คือรายการของรายการ

การใช้ min() และ zip()

ในตัวอย่างด้านล่าง เราใช้ min() และ zip() ที่นี่ ฟังก์ชัน zip() จะจัดระเบียบองค์ประกอบในดัชนีเดียวกันจากหลายรายการเป็นรายการเดียว จากนั้นเราใช้ฟังก์ชัน min() กับผลลัพธ์ของฟังก์ชัน zip โดยใช้ for loop

ตัวอย่าง

List = [[90, 5, 46], [71, 33, 2], [9, 13, 70]]
print("List : " + str(List))
# using min()+ zip()
result = [min(index) for index in zip(*List)]
print("minimum of each index in List : " + str(result))

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

List : [[90, 5, 46], [71, 33, 2], [9, 13, 70]]
minimum of each index in List : [9, 5, 2]

การใช้ map() , min() และ zip()

เรายังสามารถใช้ map() และ zip() ร่วมกันในลักษณะที่คล้ายคลึงกันด้านบน ที่นี่เราได้ผลลัพธ์ของ zip() ที่ใช้กับ min() แทนที่ for loop เราใช้ map() เพื่อจุดประสงค์นี้

ตัวอย่าง

List = [[0.5, 2.4, 7], [5.5, 1.9, 3.2], [8, 9.9, 10]]
print("The list values are: " + str(List))
# using min() + map() + zip()
result = list(map(min, zip(*List)))
#result
print("Minimum of each index in list of lists is : " + str(result))

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

The list values are: [[0.5, 2.4, 7], [5.5, 1.9, 3.2], [8, 9.9, 10]]
Minimum of each index in list of lists is : [0.5, 1.9, 3.2]