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]