0Pricing
Coding Interview Prep · レッスン

1 行に並んだ複数の数値を解析する

分割し、int に map し、きれいにアンパックします

「1 行に並んだ複数の数値を解析する」はCoddyKit上の無料Coding Interview Prepレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCoding Interview Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Coding Interview Prepコースには全4レッスンが含まれています。

1行に複数の数値

コンテストでは、「3 7 1 9」のように、複数の値が1行に並ぶことがよくあります。その文字列を使える数値に変換するのが目的です。

スペースで分割する

まず.split()を使います。引数なしで呼び出すと、任意の空白で行を分割し、文字列の断片からなるリストを返します。

parts = input().split()

まだ数値ではなく文字列

split()の後も、各要素は文字列のままです。「7」と7は同じではないため、まだ計算には使えません。

1つの要素を変換する

要素をint()で囲むと、整数に変換できます。数値として必要な各トークンに対してこれを行います。

x = int("42")

mapですべて変換する

ループの代わりにmap(int, ...)を使うと、各要素にint()を一度に適用できます。遅延評価されるため高速です。

nums = map(int, input().split())

リストにする

mapは遅延評価されるオブジェクトを返します。インデックス参照、スライス、再利用が必要な場合はlist()で囲みましょう。

nums = list(map(int, input().split()))

決まった個数をアンパックする

値の個数が正確にわかっている場合は、1行でアンパックして名前付き変数に直接代入できます。

a, b = map(int, input().split())

3個以上の値

アンパックは自然に拡張できます。3つの数値を読む場合は、等号の左側に3つの名前を置くだけです。

a, b, c = map(int, input().split())

必要なら浮動小数点数にする

値が小数なら、mapのintをfloatに置き換えます。それ以外は同じです。

vals = list(map(float, input().split()))

スターで残りを受け取る

アスタリスク付きの名前を使うと、先頭の個数を受け取り、残りの数値をリストにまとめられます。

n, *arr = map(int, input().split())

すぐに合計する

mapは反復可能なので、リストを作らずにsum()へ直接渡せます。

total = sum(map(int, input().split()))

確認問題

この1行のコードは何を生成しますか?

まとめ:1行を解析する

覚えておきたい組み合わせはmap(int, input().split())です。トークンに分割し、それぞれを数値に変換してから、問題に応じてリスト化またはアンパックします。🔢

よくある質問

「1 行に並んだ複数の数値を解析する」レッスンは無料ですか?

はい。「1 行に並んだ複数の数値を解析する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Coding Interview Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Coding Interview Prepコースには全4レッスンが含まれています。

「1 行に並んだ複数の数値を解析する」で何を学びますか?

分割し、int に map し、きれいにアンパックします ブラウザで直接実行するハンズオンコードでCoding Interview Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Coding Interview Prepを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCoding Interview Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「1 行に並んだ複数の数値を解析する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCoding Interview Prepレッスンでコードを書いて実行できますか?

はい。すべてのCoding Interview Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. input() と sys.stdin の対決
  2. 1 行に並んだ複数の数値を解析する
  3. 正しい方法でまとめて出力する
  4. N 行の読み込みとエッジケース
← Coding Interview Prepに戻る