Когда вы вызываете join
сверх str(a)
, вы сначала преобразуете список в строку, а затем соединяете все символы в строковом списке.
Вместо этого вы хотите преобразовать каждый элемент в a
в строку.Вы должны использовать выражение генератора , например:
''.join(str(x) for x in a)
В качестве альтернативы, вы можете использовать встроенную функцию map(function, iterable)
, которая полезна вОбщий случай, когда вы хотите вернуть новую итерацию, содержащую результаты function
, примененные к каждому элементу в iterable
.Таким образом, вы должны использовать:
''.join(map(str, a))
В основном это вопрос вкуса, который вы считаете более читабельным.