Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Lấy Chỉ Số Các Giá Trị True Trong Danh Sách Nhị Phân (Get Indices of True Values in a Binary List) trong Python


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

Với enumerate

Hàm enumerate trích xuất tất cả phần tử từ danh sách. Ta áp dụng điều kiện in để kiểm tra giá trị trích xuất có phải true hay không.

Ví dụ

listA = [True, False, 1, False, 0, True] # in danh sách gốc print("The original list is :\n ",listA) # sử dụng enumerate() res = [i for i, val in enumerate(listA) if val] # in kết quả print("The indices having True values:\n ",res)

Đầu ra

Chạy mã trên cho kết quả sau:

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

Với compress

Sử dụng compress ta lặp qua từng phần tử trong danh sách. Điều này chỉ đưa ra các phần tử có giá trị true.

Ví dụ

from itertools import compress listA = [True, False, 1, False, 0, True] # in danh sách gốc print("The original list is :\n ",listA) # sử dụng compress() res = list(compress(range(len(listA)), listA)) # in kết quả print("The indices having True values:\n ",res)

Đầu ra

Chạy mã trên cho kết quả sau:

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