1. ホーム
  2. python

[解決済み] Pythonで[:-1]は何を意味し、何をするのですか?[重複しています]。

2022-03-02 16:21:12

質問

Pythonの課題に取り組んでいて、次のコードの文脈で[:-1]が何を意味するのかに興味がありました。 instructions = f.readline()[:-1]

ここS.O.やGoogleで検索しましたが、無駄でした。説明が欲しいです!

解決方法は?

最後の文字(この場合は改行文字)を省略するように文字列をスライスします。

>>> 'test\n'[:-1]
'test'

これは空の文字列でも動作するので、最後の文字がある場合はかなり安全に削除することができる方法です。

>>> ''[:-1]
''

これは文字列だけでなく、あらゆるシーケンスに対して有効です。

テキストファイルの行の場合、私は実際には line.rstrip('\n') から 改行のみ削除 ファイルの最終行が改行文字で終わらないことがあり、スライシングを使うとその行の最後にある他の文字が削除されます。