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

ค้นหาดัชนีที่มีค่าไม่มีในรายการที่กำหนดใน Python


หลายครั้งเมื่อต้องรับมือกับการวิเคราะห์ข้อมูล เราอาจพบค่าไม่มีในรายการ ค่าเหล่านี้ไม่สามารถใช้โดยตรงในการดำเนินการทางคณิตศาสตร์และการดำเนินการสตริง ฯลฯ ดังนั้นเราจึงจำเป็นต้องค้นหาตำแหน่งและแปลงหรือใช้อย่างมีประสิทธิภาพ

มี range()

เมื่อรวมฟังก์ชัน range และ len แล้ว เราสามารถเปรียบเทียบค่าของแต่ละองค์ประกอบด้วย None และจับตำแหน่งดัชนี แน่นอนว่าเราใช้การออกแบบ for loop เพื่อให้ได้สิ่งนี้

ตัวอย่าง

listA = ['Sun', 'Mon',None, 'Wed', None, None]

# Given list
print("Given list : ",listA)

# Using range
positions = [i for i in range(len(listA)) if listA[i] == None]

# Result
print("None value positions : ",positions)

ผลลัพธ์

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

Given list : ['Sun', 'Mon', None, 'Wed', None, None]
None value positions : [2, 4, 5]

พร้อมแจงนับ

เรายังสามารถใช้ฟังก์ชัน enumerate ซึ่งแสดงรายการองค์ประกอบ ech จากนั้นเราเปรียบเทียบแต่ละองค์ประกอบด้วยค่า None และเลือกตำแหน่งดังที่แสดงด้านล่างในโปรแกรม

ตัวอย่าง

listA = ['Sun', 'Mon',None, 'Wed', None, None]

# Given list
print("Given list : ",listA)

# Using enumarate
positions = [i for i, val in enumerate(listA) if val == None]

# Result
print("None value positions : ",positions)

ผลลัพธ์

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

Given list : ['Sun', 'Mon', None, 'Wed', None, None]
None value positions : [2, 4, 5]