У меня есть строка, которая анализируется, и сегменты загружаются в словарь. В зависимости от строки определенные ключи могут существовать или не существовать. Затем я хочу создать новую строку путем объединения указанных ключей c из словаря. У меня проблемы, потому что некоторые ключи могут отсутствовать. Я не хочу кучу беспорядочных if
операторов, поэтому я пытаюсь использовать троичный оператор в моей конкатенации, но он не работает:
title = (name['title'], name['key1'] + (name['key2'] if name['key2'] else ''), name['key3'])
return ' '.join(title)
Я получаю KeyError: 'key3'
, когда ключ не не существует Я предполагаю, потому что он читает ключ, прежде чем проверяет, существует ли он. Я также пытался:
title = (name['title'], name['key1'] + (if name['key2']: name['key2']), name['key3'])
, но он даже не запускался из-за синтаксиса. Я просто пытаюсь заставить один ключ работать на данный момент, но будет больше, что нужно будет условно объединить, поэтому я пытаюсь найти чистый способ сделать это. Есть идеи?