atcoderの標準入力で変数がN個の場合
lis = map(int,input().split())
のように出てきますが、int(input().split())ではなぜだめなのでしょうか?
mapを使う意味が調べてもよくわかりませんでした。質問の仕方で何か至らないことがあれば教えていただければ幸いです。
A,B = int(input()).split()
と打ったところ
ValueError: invalid literal for int() with base 10
と表示されました。split でスペースをつけなくてはいけないのにスペースをつけると10進数にならないからだと思います。
A,B = int(input().split())
と打ったところ
TypeError: int() argument must be a string, a bytes-like object or a real number, not 'list'
と表示されました。こちらはinputの値がlist型と取られているということでしょうか?input()の中身は基本的に文字列だと思ったのですが、listになる理由を教えていただきたいです。
> input()の中身は基本的に文字列だと思ったのですが、listになる理由を教えていただきたいです。
input() の戻り値(「中身」では通じません)は文字列です。
文字列の split() メソッドを呼ぶことで list になります。
otn さんの回答にある通りです。
他に何か疑問はありますか?
「なぜだめなのか知りたい」という質問ですよね?

回答2件
あなたの回答
tips
プレビュー