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

รับดัชนีค่า True ในรายการไบนารีใน Python


เมื่อรายการ Python มีค่าเช่น true หรือ false และ 0 หรือ 1 จะเรียกว่า binary list ในบทความนี้ เราจะนำรายการไบนารีและค้นหาดัชนีของตำแหน่งที่องค์ประกอบรายการเป็นจริง

พร้อมแจงนับ

ฟังก์ชันแจกแจงแยกองค์ประกอบทั้งหมดจากรายการ เราใช้ a in condition เพื่อตรวจสอบว่าค่าที่สกัดออกมาเป็นจริงหรือไม่

ตัวอย่าง

listA = [True, False, 1, False, 0, True]
# printing original list
print("The original list is :\n ",listA)
# using enumerate()
res = [i for i, val in enumerate(listA) if val]
# printing result
print("The indices having True values:\n ",res)

ผลลัพธ์

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

The original list is :
[True, False, 1, False, 0, True]
The indices having True values:
[0, 2, 5]

ด้วยการประคบ

โดยใช้การบีบอัด เราจะวนซ้ำแต่ละองค์ประกอบในรายการ สิ่งนี้จะแสดงเฉพาะองค์ประกอบที่มีค่าเป็นจริงเท่านั้น

ตัวอย่าง

from itertools import compress
listA = [True, False, 1, False, 0, True]
# printing original list
print("The original list is :\n ",listA)
# using compress()
res = list(compress(range(len(listA)), listA))
# printing result
print("The indices having True values:\n ",res)

ผลลัพธ์

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

The original list is :
[True, False, 1, False, 0, True]
The indices having True values:
[0, 2, 5]