Giả sử tôi có hai danh sách (hoặc numpy.array
s):Làm thế nào để so sánh hai danh sách trong python
a = [1,2,3]
b = [4,5,6]
Làm thế nào tôi có thể kiểm tra nếu mỗi phần tử của a
là nhỏ hơn so với yếu tố b
tương ứng tại các chỉ số giống nhau không? (Chỉ số Tôi giả đang bắt đầu từ 0) ví dụ:
at index 0 value of a = 1 < value of b = 4
at index 1 value of a = 2 < value of b = 5
at index 2 value of a = 3 < value of b = 6
Nếu a
là bằng [1,2,7]
, thì đó sẽ là không chính xác bởi vì ít giá trị chỉ số 2 của a
là lớn hơn so với b
. Ngoài ra, nếu chiều dài của a
nhỏ hơn b
, thì chỉ nên so sánh chỉ số của a
với chỉ số của b
.
Ví dụ cặp này a
, b
a = [1,2]
b = [3,4,5]
ở chỉ số 0 và 1, giá trị của a
nhỏ hơn b
, do đó điều này cũng sẽ vượt qua kiểm tra.
P.S .--> Tôi phải sử dụng các điều kiện ở trên bên trong tuyên bố if
. Và cũng vậy, không có yếu tố nào của a
phải bằng với b
tức là thấp hơn. Vui lòng sử dụng nhiều như công cụ tùy thích. (Mặc dù tôi đang sử dụng danh sách ở đây, bạn có thể chuyển đổi các danh sách trên vào mảng NumPy quá.)
@Antti Haapala, cho a và b, trong đó a = list (range (10000)) và b = list (range (1, 10001)) Trên hệ thống của tôi, giải pháp của bạn cho 809 micro giây và của tôi là 558 – Retard
Thực sự của bạn là nhanh hơn: D vì ít tạo tuple. –
Tôi rất tò mò về quy trình thử nghiệm của bạn. Có thể cung cấp mã cho bạn thử nghiệm không? (Bạn có thể sử dụng http://pythonfiddle.com/) – Exelian