Есть более эффективные способы сделать это, но, поскольку вы довольно плохо знакомы с кодированием, я не хочу предлагать слишком сложное решение, так как это не поможет в изучении.
Также,Вы хотите, чтобы условие было и или или или?это может быть вашей проблемой, не осознавая этого
l1 = [1, 2, 3, 4]
l2 = []
while len(l2) < 4:
a = random.randrange(1, 5)
length_l2 =
if a not in l2 and a != l1[len(l2)]:
l2.append(a)
print(l1, l2)
Вместо того, чтобы использовать I, вы можете просто использовать длину l2 и затем проверить это место в l1, потому что, если длина l2 составляет 3 элемента [2, 1, 4], и вы хотите проверить, равен ли элемент элементу, находящемуся на 4-м месте l1, индекс будет равен 3, так как индексы идут в 0, 1, 2, 3, поэтому длина работает идеально.
Не уверен, знаете ли вы о наборах, но наборы гарантируют, что у вас нет повторяющихся элементов, поэтому было бы неплохо использовать некоторые наборы в этом коде.