0Pricing
Competitive Programming Academy · レッスン

単語の分割、strip、再結合

単語問題のために文をトークン化します

「単語の分割、strip、再結合」はCoddyKit上の無料Competitive Programming Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCompetitive Programming Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Competitive Programming Academyコースには全4レッスンが含まれています。

文から単語へ

単語を扱う問題では、通常まず1行をトークンに分割します。Pythonではsplitを使って簡単に実行でき、これが最初の一歩になります。✂️

引数なしのsplit()

引数なしでsplit()を呼び出すと、連続する空白ごとに分割し、先頭と末尾の空白を無視します。安全なデフォルトの方法です。

print('  hi   there '.split())  # ['hi', 'there']

区切り文字を指定したsplit()

文字を渡すと、その区切り文字だけで正確に分割します。CSV形式の入力に含まれるカンマなどに使えます。空のフィールドは空文字列として保持されます。

print('a,b,,c'.split(','))  # ['a','b','','c']

空のトークンに注意する

固定の区切り文字を使うと、区切り文字が2つ連続した場合に空のトークンが生成されます。通常のsplit()ではこのようなことがないため、より安全な場合が多くあります。

strip() で末尾と先頭を整える

strip() メソッドは、文字列の両端にある空白を削除します。行末に改行文字が付いている入力を読み込むときに欠かせません。

print('  hello\n'.strip())  # 'hello'

特定の文字を取り除く

strip に文字の集合を渡すと、空白だけでなく、その中の文字を両端から取り除きます。余分な句読点を除去するときに便利です。

print('***word***'.strip('*'))  # 'word'

join() でトークンをつなぎ直す

join メソッドは split の逆の処理を行い、区切り文字を指定して、リストを1つの文字列につなぎ直します。

print(' '.join(['hi', 'there']))  # 'hi there'

join には文字列が必要

join に渡す各要素は、あらかじめ文字列になっていなければなりません。数値はまず map(str, ...) または内包表記で変換してください。

nums = [1, 2, 3]
print(' '.join(map(str, nums)))  # '1 2 3'

join は高速出力の定番

join で1つの文字列を作ってから1回だけ出力するほうが、ループ内で print を繰り返し呼び出すより高速です。これは競技プログラミングで重要な高速出力の習慣です。

split と join の間で変換する

典型的な組み合わせは、split して各単語を変更し、それから join でつなぎ直す方法です。このパターンを使うと、トークンの反転、抽出、ラベル付けをきれいに行えます。

s = 'cat dog fox'
print(' '.join(w.upper() for w in s.split()))

単語の順序を逆にする

文の順序を逆にするには、単語に分割し、リストを逆順にしてから join します。単語の順序を扱う問題に使える、簡潔な3段階の手順です。

s = 'one two three'
print(' '.join(s.split()[::-1]))

確認問題

分割と結合についての問題です。

まとめ

これで split でトークン化し、strip で両端を整え、join で文字列をすばやく再構築できるようになりました。単語を扱う問題の基本ツールです。🎉

よくある質問

「単語の分割、strip、再結合」レッスンは無料ですか?

はい。「単語の分割、strip、再結合」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Competitive Programming Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Competitive Programming Academyコースには全4レッスンが含まれています。

「単語の分割、strip、再結合」で何を学びますか?

単語問題のために文をトークン化します ブラウザで直接実行するハンズオンコードでCompetitive Programming Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Competitive Programming Academyを始めるのに経験は必要ですか?

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

「単語の分割、strip、再結合」レッスンにはどのくらい時間がかかりますか?

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

このCompetitive Programming Academyレッスンでコードを書いて実行できますか?

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

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

  1. 文字、ord、chr のテクニック
  2. 頻度表で文字を数える
  3. 正しい回文チェック
  4. 単語の分割、strip、再結合
← Competitive Programming Academyに戻る