Как насчет такой попытки?
if (item in companies.keys()) or (item in companies.values()):
append item
Я думаю, что круглые скобки вокруг (x in y)
являются необязательными, поскольку оператор or
имеет меньший приоритет.
Редактировать:
Однако есть некоторые недостатки с использованием item in companies.keys()
, особенно в версии Python до Python 3, где метод .keys()
выполняет итерации по всем ключам и создает список всех ключей.
Этот же тест можно переписать, чтобы использовать более быстрый и более идиоматический тест, такой как:
if (item in companies) or (item in companies.values()):
append item
Или без скобок (хотя мне труднее читать):
if item in companies or item in companies.values():
append item