Я хочу, чтобы моя функция питона, чтобы разделить предложение (вход) и хранить каждое слово в списке
метод str().split()
делает это, он принимает строку, разбивает его в список:
>>> the_string = "this is a sentence"
>>> words = the_string.split(" ")
>>> print(words)
['this', 'is', 'a', 'sentence']
>>> type(words)
<type 'list'> # or <class 'list'> in Python 3.0
Проблема у вас возникли из-за опечатки, Вы писали print(words)
вместо print(word)
:
Переименование переменной word
в current_word
, это то, что у вас было:
def split_line(text):
words = text.split()
for current_word in words:
print(words)
..когда вы должны сделать:
def split_line(text):
words = text.split()
for current_word in words:
print(current_word)
Если по какой-то причине вы хотите, чтобы вручную создать список в цикл, вы бы использовать метод список append()
, возможно потому, что вы хотите Строчные все слова (например,):
my_list = [] # make empty list
for current_word in words:
my_list.append(current_word.lower())
Или еще немного аккуратнее, используя list-comprehension:
my_list = [current_word.lower() for current_word in words]
Какой часть этого кода не работает? Можете ли вы предоставить сообщение об ошибке или проблему, с которой вы сталкиваетесь? –
Как бы то ни было, вы будете печатать полный список слов для каждого слова в списке. Я думаю, вы хотели использовать 'print (word)' в качестве вашей последней строки. – tgray
Вопрос был отредактирован, чтобы включить правильный ответ, чтобы он больше не имел смысла – Joop