0
0

More than 1 year has passed since last update.

Pyhton3の標準入出力まとめ+応用

Last updated at Posted at 2022-02-14

標準入力

一つの行から、一つの数字を変数に

入力値
100
取得方法
N = int(input())
print(N) => 100

一つの行から、複数の文字列を変数に

※左辺が1変数の場合、配列になる

入力値
m n
取得方法
M, N = input().split()
print(M, N) => m n

一つの行から、複数の数値を変数に

入力値
3 200
取得方法~変数ver
M, N = map(int, input().split())
print(M, N) => 3 200
取得方法~配列ver
M = list(map(int, input().split())
print(M) => [3,200]

入力行数を利用し、行分の数値入力を1次元配列に

入力値
3
200
300
400
取得方法
N = int(input())
S = [int(input()) for i in range(N)]
print(S) => [200,300,400]

入力行数を利用し、各行複数の数値入力を2次元配列に

入力
3
100 200 20
100 20 20
500 20 20
取得方法
N = int(input())

# リスト内包表記
W = [list(map(int, input().split())) for i in range(N)] 
# 間に半角スペースが無い場合、split()を除けばOK

print(W) => [[100,200,20],[100,20,20],[500,20,20]]

入力行数を利用し、各行複数のつながった文字入力を2次元配列に

入力
3
abc
def
ghi
取得方法
N = int(input())

# リスト内包表記
W = [list(input()) for i in range(N)] 
# 間に半角スペースがある場合、split()をつければOK
print(W) => [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']]

縦方向に並んだ数値列を、指定行分区切って2次元配列に

入力
3
10
20
30
40
50
60
70
80
90
取得方法
N = int(input())

# リスト内包表記
S = [[int(input()) for i in range(N)] for i in range(N)]
print(S) => [[10,20,30],[40,50,60],[70,80,90]]

出力方法

一つの行に半角スペースで複数の回答を出す

end=""は末尾にも半角スペースが入るので注意

出力
1 2 3
方法
# 回答配列を作成する
ans = [1,2,3] 

# 末尾か否かで分岐
for i in range(len(ans)):
    if i+1 == len(ans):
        print(ans[i])
    else:
        print(ans[i], end=" ")

その他の便利技

2次元配列を転置

W = [[1,2,3],[4,5,6],[7,8,9]]
W_T = [list(x) for x in zip(*W)]

print(W_T) => [[1, 4, 7], [2, 5, 8], [3, 6, 9]]

2次元配列各要素早見表

image.png

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0