Python 3: получить значение сложного JSON массива с проверкой наличия ключа

Подскажите пожалуйста, получаю такой ответ в JSON по запросу. Мне нужно проверить наличие "key":"partner18", если оно есть то получить значение "Москва". Пишу в Python3. За любую подсказку буду благодарен :=)

"products": [
            {
                "id": "20623",
                "code1c": "",
                "name": "BaByliss C453E розовый черный",
                "count": "1.000",
                "price": "34780.0000",
                "productcurrency": "KZT",
                "pricebasecart": "23870.0000",
                "storageId": "5",
                "storageExternalId": "PP1",
                "productsource": "product",
                "customfields": [
                    {
                        "key": "brendtovaradoppole9",
                        "name": "бренд товара доп. поле",
                        "value": "BaByliss"
                    },
                    {
                        "key": "partner18",
                        "name": "Партнёр",
                        "value": "Москва"
                    },
            
                ]

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

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

Функция для поиска не очень уж и сложная. Вернёт None если ничего не нашла.

json_dict = {
"products": [
                {
                    "id": "20623",
                    ...
                }
            ]
}

search = lambda d, what: next((x["value"] for p in d["products"] for x in p["customfields"] if x["key"] == what), None)

print(search(json_dict, "partner18"), search(json_dict, "foobar"), sep="\n")
Москва
None
→ Ссылка