単語の分割、strip、再結合
単語問題のために文をトークン化します
「単語の分割、strip、再結合」はCoddyKit上の無料Coding Interview Prepレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCoding Interview Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Coding Interview Prepコースには全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チューター)、Coding Interview Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Coding Interview Prepコースには全4レッスンが含まれています。
「単語の分割、strip、再結合」で何を学びますか?
単語問題のために文をトークン化します ブラウザで直接実行するハンズオンコードでCoding Interview Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Coding Interview Prepを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCoding Interview Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「単語の分割、strip、再結合」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCoding Interview Prepレッスンでコードを書いて実行できますか?
はい。すべてのCoding Interview Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 文字、ord、chr のテクニック
- 頻度表で文字を数える
- 正しい回文チェック
- 単語の分割、strip、再結合