Computer >> Máy Tính >  >> Lập trình >> Python

Nhận các chỉ số của giá trị True trong danh sách nhị phân bằng Python

Khi một danh sách Python chứa các giá trị như true hoặc false và 0 hoặc 1, nó được gọi là danh sách nhị phân. Trong bài viết này, chúng tôi sẽ lấy một danh sách nhị phân và tìm ra chỉ số của các vị trí mà phần tử danh sách là true.

Với liệt kê

Hàm liệt kê trích xuất tất cả các phần tử tạo thành danh sách. Chúng tôi áp dụng một điều kiện để kiểm tra giá trị được trích xuất có đúng hay không.

Ví dụ

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)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

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

Có nén

Sử dụng tính năng nén, chúng tôi lặp lại từng phần tử trong danh sách. Điều này chỉ hiển thị các phần tử có giá trị đúng.

Ví dụ

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)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

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