Cách nào là cách thanh lịch và hiệu quả nhất để tìm/trả lại mục danh sách đầu tiên khớp với một tiêu chí nhất định?tìm mục đầu tiên khớp với tiêu chí
Ví dụ: nếu tôi có danh sách đối tượng và tôi muốn lấy đối tượng đầu tiên của những đối tượng có thuộc tính obj.val==5
. Tôi tất nhiên có thể sử dụng danh sách hiểu, nhưng điều đó sẽ phải chịu O (n) và nếu n là lớn, nó lãng phí. Tôi cũng có thể sử dụng một vòng lặp với break
khi tiêu chí đã được đáp ứng, nhưng tôi nghĩ rằng có thể có một giải pháp nhiều hơn/thanh lịch hơn.
gì xảy ra nếu bạn muốn nhận được các mục và chỉ số? –
@CharlieParker, để lấy cả chỉ mục và mục, sử dụng liệt kê() - tiếp theo ((idx, obj) cho idx, obj trong liệt kê (objs) nếu obj.val == 5) –