#python #list
#питон #Список
Вопрос:
Я пытаюсь найти , присутствует ли 2 a
, но когда я запускаю код, он говорит, что его здесь нет
a = [1,2,3] b = [2] if b in a: print('its here') else: print('its not here')
Из того, что я читал в Интернете, я вижу in
, что оператор используется для проверки наличия значения в массиве. хотя, если я использую: if 2 in a:
тогда он отображается как здесь, но я бы хотел, чтобы b сделал это.
Комментарии:
1. Вы можете проверить, находится ли элемент в массиве, но вы не можете проверить, является ли массив частью другого массива. Попробуйте использовать обозначение набора и пересечение здесь.
2.
a
не содержитb
, такb
как является самим списком. В настоящее время ваш код проверяет , содержится ли список[2]
внутри[1, 2, 3]
, что так и естьFalse
. Если вы установилиb = 2
, ваша программа должна вывести «its here».3. Я голосую за то, чтобы закрыть как опечатку, если вы специально не спрашиваете, как проверить, все ли элементы в одном списке находятся в другом
Ответ №1:
Вы a
ищете список, содержащий 2, а не само значение 2. ( b
является ли список не значением)
Вы могли бы заставить его работать, используя первый элемент b
:
if b[0] in a: print('its here') else: print('its not here')
Или вы можете проверить, все ли значения списка b
присутствуют в списке a
if all(value in a for value in b): print('its here') else: print('its not here')
Ответ №2:
Вы можете использовать цикл for, чтобы проверить, находится ли b в a или наоборот.
Вот я привел такой пример:
a = [1, 2, 3] b = [2] for x in a, b: if x == b: print("b is in a") else: print("b is not in a")
Теперь поверх печати вы можете поместить нужный вам текст, например «B здесь».
Комментарии:
1. Этот ответ даже синтаксически неверен.
2. Ты хотел написать
in zip(a, b)
? В любом случае,all(x in a for x in b)
было бы лучше3. … и это не касается вопроса ОП.