Разделить и добавить 2 массива из ввода - PullRequest
0 голосов
/ 14 мая 2018

Я хочу что-то вроде этого.String -> split -> добавить каждую, не создавая 2 новые переменные (или 1 список)Но это так уродливо.x

for i in range(n):
    buf = map(int,raw_input().split(" "));
    a.append(buf[0])
    b.append(buf[1])

1 Ответ

0 голосов
/ 14 мая 2018

Нет ничего плохого во втором подходе.На самом деле совершенно ясно, что он делает.Вы можете использовать распаковку кортежей, чтобы она выглядела немного лучше:

for i in range(n):
    first, second = map(int, raw_input().split(" "));
    a.append(first)
    b.append(second)

Если вы все еще хотите сделать это как одну строку, вот примерный подход, который вы могли бы использовать на другом примере:

t = ['A B', 'C D', 'E F']
a, b = zip(*(i.split() for i in t))

>>> print(a)
('A', 'C', 'E')
>>> print(b)
('B', 'D', 'F')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...