Tôi có một mảngLàm thế nào tìm thấy giá trị trong một mảng có thể đáp ứng hai điều kiện sử dụng Python
a=[1,2,3,4,5,6,7,8,9]
và tôi muốn tìm các chỉ số của phần tử s đáp ứng hai điều kiện tức là
a>3 and a<8
ans=[3,4,5,6]
a[ans]=[4,5,6,7]
tôi có thể sử dụng numpy.nonzero(a>3)
hoặc numpy.nonzero(a<8)
nhưng không numpy.nonzero(a>3 and a<8)
mang đến cho các lỗi:
ValueError: The truth value of an array with more than one element is
ambiguous. Use a.any() or a.all()
Khi tôi cố gắng sử dụng any
hoặc all
Tôi nhận được lỗi tương tự. Có thể kết hợp hai xét nghiệm có điều kiện để nhận được ans không?
lý do tại sao bạn cần gọn gàng, bạn không thể làm như vậy! bộ lọc (lambda a: 3 shahjapan
@shahjapan - có khả năng vì chúng cần tốc độ tăng của một mảng có nhiều mảng vì chúng có thể thực sự có số liệu lớn hơn nhiều * nhiều *. –