Вместо того, чтобы печатать каждую строку, вам нужно добавить ее в другую структуру данных (например, список) и вернуть весь список в конце get_comments()
.
Например:
def get_comments():
to_return = []
for i in data:
comment_data = i['comments']
for z in comment_data:
comments = comment_data['data']
for j in comments:
comment = j['message']
to_return.append(comment)
return to_return
Если вы хотите стать немного более продвинутым, вы можете вместо этого создать generator
, используя yield
:
def get_comments():
for i in data:
comment_data = i['comments']
for z in comment_data:
comments = comment_data['data']
for j in comments:
comment = j['message']
yield comment
Затем вы можете перебирать get_comments()
, и он go вернется в генератор каждый раз, чтобы получить следующий комментарий. Или вы можете просто преобразовать генератор в список с list(get_comments())
, чтобы вернуться к желаемому списку комментариев.
Обратитесь к этот отличный ответ , чтобы узнать больше о yield
и генераторы.