事前定義されたセパレータを使用して、変数を1つの文字列に結合するクリーンな方法を探しています。問題は、これらの変数の一部が常に存在するとは限らないか、Noneに設定できる場合があることです。区切り文字列を複製することもできません。問題の例:
# This works because I have all strings
str('-').join(('productX', 'deployment-package', '1.2.3.4'))
# 'productX-deployment-package-1.2.3.4'
# But I have more args that might be None / or not exist like and that breaks
str('-').join(('productX', 'deployment-package', '1.2.3.4', idontexist, alsonotexist))
str('-').join(('productX', 'deployment-package', '1.2.3.4', None, None, None))
# If I set the other missing variables to empty strings, I get duplicated joiners
str('-').join(('productX', 'deployment-package', '1.2.3.4', '', '', ''))
# 'productX-deployment-package-1.2.3.4---'
これを行うための良いクリーンな方法はありますか?