Как сгенерировать двумерный список python?

Всем привет.
Нужно сгенерировать вложеный 2 менрый список из вводимых чисел. Конец строки это 'enter'.
a = [[i for i in input().split()] for i in input().split(sep='\n')]
В таком варианте берет только вторую строку. К примеру:
1 2 3
4 5 6
7 8 9
Выведет вот так:
[['4', '5', '6']]
Конечный результат хочу получить вот такой:
[['1', '2', '3'],['4', '5', '6'],['7', '8', '9']]
Помогите найти ошибку. Спасибо.
  • Вопрос задан
  • 175 просмотров
Решения вопроса 1
@o5a
Если известно кол-во "строк", то можно так
a = [input().split() for _ in range(3)]
Обычным input() не получится вводить несколько строк, т.к. Enter закончит ввод.
Если все же нужно вводить таким образом неограниченное кол-во строк, можно использовать sys.stdin, но заканчивать ввод нужно будет через Ctrl-Z/Ctlr-D.
import sys
lines = [s.split() for s in sys.stdin.read().splitlines()]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы