プログラミング練習問題 【N 行 M 列のデータの入力】行ごとに要素数の異なる整数列の入力 Python3編 – paizaラーニング

【N 行 M 列のデータの入力】行ごとに要素数の異なる整数列の入力 (paizaランク D 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

ということなのでチャレンジしました。

問題文

詳細は上記リンク先にて確認してください。

1 行目に整数 N が与えられます。

2 行目から (N + 1) 行目までの先頭に整数 M_i (1 ≦ i ≦ N) が与えられます。それに続いて M_i 個の整数 a_1, …, a_{M_i} が与えられます。

上から i 番目、左から j 番目の整数は a_{i,j} です。

N 行の a_1, …, a_M をそのまま出力してください。

入力例:

3
1 8
2 8 1
3 8 1 3

出力例:
8
8 1
8 1 3

Python解答例 – ソースコード

N = int(input())
for i in range(N):
    numbers = input().split()
    # print(numbers)
    for j in range(int(numbers[0])):
        if j == int(numbers[0]) - 1:
            print(numbers[j + 1])
        else:
            print(numbers[j + 1], end=" ")

各行の先頭の数字分だけスペース区切りで表示するのが戸惑った。

あと、スペース区切りにするのにif文で一部print( , end=" “)を使ったけど、もっとスマートな方法ないかしら。