しょっちゅうわからなくなるのでチートシート作成。
必要を感じたら追加します。
入力:改行型int
1
2
1
6
1
コード
a = [int(input()) for i in range(5)]
※行数が不明な場合
import sys
a = []
for l in sys.stdin:
a.append(int(l))
print(a)
[1, 2, 1, 6, 1]
入力:改行型文字列
aa
ii
uu
ee
oo
コード
a = [input() for i in range(5)]
print(a)
[aa, ii, uu, ee, oo]
入力:連続文字int
10 20 00
コード
a = list(map(int,input().split()))
print(a)
[10, 20, 0]
入力:連続文字列
aa ii uu
コード
a = input().split()
print(a)
[10, 20, 0]
入力:複数行2数値
1 2
3 4
5 6
7 8
9 0
コード (2020/4/11 より良い方法をコメントにていただき変更しました。)
xy = [map(int, input().split()) for _ in range(5)]
x, y = [list(i) for i in zip(*xy)]
print(x)
print(y)
print(x[1]+y[1])
[1, 3, 5, 7, 9]
[2, 4, 6, 8, 0]
7
入力:複数行複合。リスト一つで処理。
1 a
3 b
5 c
7 d
9 e
コード
list = []
for i in range(5):
a,b=input().split()
list.append((int(a), b))
print(list[0][0]+list[1][0])
print(list[1][1])
4
b
入力:行列
1 2 3 4
5 6 7 8
1 1 1 1
コード
a = [input().split() for l in range(3)]
print(a)
[['1', '2', '3', '4'], ['5', '6', '7', '8'], ['1', '1', '1', '1']]
入力:単数値。桁ごとに分割したい。
12345678
コード
s = input()
a = [int(c) for c in s]
print(a[1])
2
入力:複数行数値。ここから正方形の行列を作成
123
456
789
コード
import sys
a = [[int(c) for c in l.strip()] for l in sys.stdin]
print(a)
print(a[1][1])
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
5