Как вычислить и вывести отличающийся элемент из списка?
Есть два массива 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')