Я хочу, щоб моя функція python розбила речення (введення) та зберігала кожне слово у списку
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)
Якщо з якоїсь причини ви хочете вручну створити список у циклі for, ви б використали append()
метод списку , можливо, тому, що ви хочете, щоб усі слова (наприклад) були малі)
my_list = [] # make empty list
for current_word in words:
my_list.append(current_word.lower())
Або трохи акуратніше, використовуючи розуміння списку :
my_list = [current_word.lower() for current_word in words]