Как с помощью glom объединить необязательные строки?
У меня есть словарь, содержащий имя из двух частей:
target = {
"givenName": "Elvis",
"middleName": "Aron",
}
middleName
не является обязательным. Мне нужно сопоставить им одну строку, которая либоgivenName + ' ' + middleName
если middleName
определяется или просто firstName
. Каков канонический способ сделать это с помощьюglom
?
1 ответ
Решение, которое я нашел до сих пор, - использовать lambda
а также Coalesce
. Приведенное ниже решение будет работать, еслиmiddleName
входит или нет:
glom(target, Coalesce(
lambda t: t["givenName"] + " " + t["middleName"],
"givenName",
skip_exc=KeyError),
)