В настоящее время я создаю список, состоящий из объекта фильтра, который запрашивает переменные и игнорирует переменные, которые являются ложными, и печатает полученный список, а затем переменную в той же строке, которая не включена в фильтр. Например:
nature = "cow"
creator = ""
minor = ""
item = "hammer"
NAMEPROPERTIES = [nature, creator, minor]
propertiestrue = (filter(None, NAMEPROPERTIES))
Затем я пытаюсь:
print (*propertiestrue)
cow
Что работает, так как на выходе корова, но:
print (*propertiestrue, item)
SyntaxError: only named arguments may follow *expression
Я также попытался полностью отделить раздел фильтра:
print ((*filter(None, NAMEPROPERTIES)), nature)
File "<stdin>", line 1
SyntaxError: can use starred expression only as assignment target
Я попытался распечатать фильтр напрямую, а не сначала составить из него список с теми же результатами. Моя проблема в том, как заставить «элемент» печатать в той же строке, что и вывод (*propertiestrue)?