Как вычислить и вывести отличающийся элемент из списка?

Есть два массива a и b, в них хранятся условные имена. Если какое-либо имя(или больше одного имени) в массиве a отличается от имени в массиве b, то оно должно выводится на экран, если нет то ничего не происходит. Как это сделать?

a = [str(input())]
b = [str(input())]
if a == b:
    print("ok")
else:
    

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

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

Если я все правильно понял, если у тебя массивы одинаковой длины, можно так:

    a = [str(input())]
    b = [str(input())]
    if a == b:
        print("ok")
    else:
        for i in range(len(a)):
            if a[i] !== b[i]:
                print(a[i])

Если нет, нужно добавить проверку, что i не превышает длину массива b:

    a = [str(input())]
    b = [str(input())]
    if a == b:
        print("ok")
    else:
        for i in range(len(a)):
            if i < len(b):
                if a[i] !== b[i]:
                    print(a[i])

Иначе, обращение к несуществующему элементу, приведет к ошибке list index out of range.

→ Ссылка
Автор решения: Zhihar
a = [str(input())]

так список имен не передают (кстати зачем ввод превращать в текст через str, если он и так является строкой?), вот так тогда уж, если вы имена через пробел делаете

a = input().split()

а ваша задача может решаться так:

res = [name for name in a if name not in b]

print(res, sep='\n')
→ Ссылка