Здесь есть пара моментов, на которые следует обратить внимание:
text_lowercase = ''.join((string.lower().strip() for string in text.count(0,)))
Называть временную переменную string
- плохая идея, поскольку она очень похожа на имя типа.Что-то вроде s
более распространено и читабельно.
Или, может быть, word
, потому что это то, что вам нужно после этого, кажется.Это вторая проблема, ваш подход, кажется, разбивает строку в символах, но, судя по комментариям, вы хотели бы оперировать словами?(использование strip
также предполагает это)
Вы присоединяетесь к ''
, в результате чего все части строки соединяются без пробелов между ними.
Какдругие отмечают, что count
возвращает целое число, но вы хотите работать с фактической строкой.Вы указали, что пытались повторить только count, и это не нужно в Python, как во многих других языках.
Соберите все вместе для слов:
text_lowercase = ' '.join([w.lower() for w in text.split(' ')])
Или, если вам нужны символы:
text_lowercase = ''.join([ch.lower() for ch in text])
Но тогда вы могли бы просто:
text_lowercase = text.lower()
Возможно, вы любите слова, но хотите избавиться от лишних пробелов?
text_lowercase = ' '.join([w.lower() for w in text.split(' ') if w != ''])
Или встенография:
text_lowercase = ' '.join([w.lower() for w in text.split(' ') if w])