Я не знаю, является ли это гладким, но мне нравится это:
assert (['?'] * 3).join(',') == '?,?,?'
Операция * n
над списком возвращает список, равный этому списку, объединенный n раз, поэтому ['?'] * 3
равно['?', '?', '?']
.Затем .join(',')
просто соединяет элементы этого списка запятой.