web-dev-qa-db-ja.com

Python内のraw_input()。strip()。split()はこのコードでどのように機能しますか?

うまくいけば、コミュニティはこれを私にもっとよく説明してくれるでしょう。以下は目的です、私は目的を与えられたこのコードを理解しようとしています。

目的:リストを初期化し、コマンドの行が続く値を読み取ります。各コマンドは上記のタイプになります。各コマンドを順番に繰り返し、リストで対応する操作を実行します。

入力例:

12
insert 0 5
insert 1 10
etc.

出力例:

[5, 10]
etc.

最初の行には、コマンドの数を示す整数nが含まれています。後続の行の各行には、上記のコマンドの1つが含まれています。

コード:

n = int(raw_input().strip())

List = []
for number in range(n):
args = raw_input().strip().split(" ")
if args[0] == "append":
    List.append(int(args[1]))
Elif args[0] == "insert":
    List.insert(int(args[1]), int(args[2]))

これが変数「args」の私の解釈です。ユーザーから生の入力を受け取り、生の入力から空白を削除します。それが削除されると、split関数は文字列をリストに入れます。

私の生の入力が「挿入0 5」だった場合、strip()はそれを「挿入05」に変換しませんか?

5
CTLearn

pythonでは、文字列にsplit(delimiter)メソッドを使用して、指定した区切り文字(デフォルトではスペース文字)とstrip()メソッドは、文字列の末尾と先頭の空白を削除します

したがって、段階的な操作は次のとおりです。

_raw_input()          #' insert 0 5     '
raw_input().strip()  #'insert 0 5'
raw_input().strip().split()  #['insert', '0', '5']
_

セミコロン 'insert; 0; 5'で区切られた文字列を変換する場合は、例としてsplit(';')を使用できます

11
soloidx

いいえ、それは.remove(" ")であり、.strip()は文字列の最初と最後の空白を取り除きます。

0
Elliot Roberts