Сравнение чисел в массиве, попарно Python

Есть код:


res = [f'{x}{y}' for x in range(1, 6) for y in range(1, 6) if x != y]

lst = []

for i in res:
    if i not in lst and i[::-1] not in lst: # проверка на уникальность в списке, в котором учитываются палиндромы
        lst.append(i)

for j in lst:
    print(j)

i = 0

A = []

for i in input().split():
    A.append( int(i) )

b = []
for i in res:
    if A[i] not in j and A[i-1] not in j:
        B.append(i)

for k in b:
    print(k)

Код генерирует список уникальных пар чисел от 1 до 5, т.е. 12 13 14 15 23 24 25 и т.д. после с клавиатуры вводятся пары чисел в том же диапазоне, нужно чтобы введённые пары вычитались из генерируемого массива и составлялся новый массив, с которым в дальнейшем можно будет работать по индексам

то есть мы вводим к примеру 21 и 15 и на выходе получаем тот же генерируемый список но без 12 и 15

На 21 строке выдаёт ошибку list indices must be integers or slices, not str которая появляется и за разного типа данных, но исправить её у меня не вышло


Ответы (1 шт):

Автор решения: A_Vaclav

Такой вариант:

res = [f'{x}{y}' for x in range(1, 6) for y in range(1, 6) if x != y]
#print(res)
lst = []

for i in res:
    if i not in lst and i[::-1] not in lst: # проверка на уникальность в списке,
                                            # в котором учитываются палиндромы
        lst.append(i)

for j in lst:
    print(j)

i = 0

A = []

for i in input('Введите пару цифр из диапозона 1 ... 5 через пробел: ').split(' '):
    A.append(i)
print(A)
b = []

for i in range(len(lst)):
    #print(i, ' ', type(i))
    if (A[0] not in lst[i]) or (A[1] not in lst[i]):
        b.append(lst[i])

for k in b:
    print(k)
→ Ссылка