#python #list
Вопрос:
У меня есть текст (упрощенный):
a b c d
например
Тогда у меня есть этот код (MapReduce):
import sys for line in sys.stdin: words = line.strip().split() print(words)
Переменные слова дают мне:
['a', 'b', 'c', 'd'] [] ['e', 'f', 'g']
Как добраться:
['a', 'b', 'c', 'd', 'e', 'f', 'g']
Спасибо!
Ответ №1:
Создайте переменную word в виде пустого СПИСКА и просто добавьте в него значения. Обратитесь к приведенному ниже коду. Кроме того, print() следует использовать вне цикла.
import sys words = [] for line in sys.stdin: words = line.strip().split() print(words)
переменная words будет обновлена по мере этого:
слова = [ ] [‘a’, ‘b’, ‘c’, ‘d’] [ ] [‘e’, ‘f’, ‘g’]
Выход:
[«a», «b», «c», «d», «e», «f», «g»]
Комментарии:
1. Спасибо @abdeali004, но он все равно дает мне 3 списка в 3 разных строках следующим образом:
python ['a', 'b', 'c', 'd'] ['a', 'b', 'c', 'd'] ['a', 'b', 'c', 'd', 'e', 'f', 'g']
2. Проверьте код. Я думаю, что ваша функция print() находится в цикле. Держите print() вне цикла while, как указано в моем коде.