Как уже упоминалось, print () ничего не возвращает.Следовательно, Ни один не напечатан.Если вам интересно, почему элементы правильно печатаются, а затем следуют 4 None
, то это из-за того, как работают функции.
Функция вызывается и после выполнения каждого оператора внутри, значениевозвращается, но только если функция возвращает что-то.
В вашем случае, print(i + ...)
вызвал функцию печати на i, print был выполнен, то есть он напечатал i на консоль, а затем было возвращено его значение, которое равно None, так как print () делает nничего не вернуть.
Принимая решение, вы можете использовать метод .join () или метод replace ():
a = ts_file[7:].upper().replace("_", " ")
print(a)
или
a = (' ').join(ts_file[7:].upper().split("_"))
print(a)
Вывод:
04 RED ZONE CONVERSION
Вы могли бы также сделать другое, если бы вам не было дела до того, что было сохранено в ts_title: как только вы назначите ts_title со своим пониманием списка:
ts_title = [print(i + ' ', end="") for i in ts_file[7:].upper().split("_")]
, есливы запускаете свой скрипт, вы получите ожидаемый результат на экране, как я объяснил в начале ответа.