Проблема в том, что вы просто не можете иметь все эти условия в одном утверждении. Один элемент не может иметь несколько значений для одного и того же атрибута. Ваша переменная i
имеет только один атрибут product_type
так, что вы на самом деле ищете способ, чтобы проверить против какой-либо один из вариантов:
if i["product_type"] == 0 or i["product_type"] == 35 or i["product_type"] == 72:
#
Вы хотите использовать оператор or
вместо оператора and
.
Здесь гораздо более читабельным версия кода (при условии, что стоимость вашего типа продукта INT:
if i["product_type"] in [ 0, 35, 72 ]:
print i["product_name"] + " has been skipped"
else:
# Upload product
Этот код проверяет, является ли значение product_type
упоминается в списке:
[ "00", "35", "72" ]
.
в качестве последнего замечания, вы не обязаны обернуть условный оператор с parethesis (как вы с JS/PHP, например), вы можете просто опустить их:.
if "foo" in [ "foo" ]:
pass
работает так же, как
if ("foo" in [ "foo" ]):
pass
вы имели в виду 'or' вместо' and'? Конечно, product_type может быть только одним, он не может быть 00, 35 и 72 одновременно. – nos