Я пытаюсь создать два массива, a
и b
, каждый из которых содержит ~ 1000 случайных чисел. Случайное число находится между 1 и 5.Python Сравнение двух неровных массивов
Я хочу, чтобы затем сравнить каждый элемент в a
с соответствующим элементом b
таким образом, что если a[i] > b[i]
переменных, counter
, будет увеличиваться на 1. Это считаются «успехом» , В противном случае, если a[i] <= b[i]
ничего не происходит (например, counter += 0
). Это считается «неудачей».
Однако и b
могут иметь разную длину, такие как len(a) == len(b)
и len(a) != len(b)
.
В случае последнего, если len(a) > len(b)
Я бы хотел, чтобы все «лишние» элементы a
автоматически учитывались как «успехи». Если len(b) > len(a)
вещи должны проходить нормально (то есть «лишние» элементы b
игнорируются).
Например:
Если a = [1, 3, 4, 2]
и b = [2, 4, 0]
Тогда counter = 2
, потому что (1 < 2
, 3 < 4
, 4 > 0
и 2
является дополнительной и автоматический success`)
Как бы я идти об этом это?
Вот некоторый быстрый код, который возвращает ожидаемую list index out of range...
ошибку:
import random
a = []
b = []
counter = 0
for i in range(1000):
a += [random.randint(1, 5)]
for i in range(900):
b += [random.randint(1, 5)]
for i in range(len(a)):
if a[i] > b[i]:
counter += 1
print counter
Это действительно хороший ответ, короткий и легкий для понимания. Благодарю. – Dider