OBSの情報をフォーマットする:私は、Python 3.5.2に取り組んでいると私は、標準のシェルとIDLEPythonで文字列を使用した作業:非常に特定の方法で
こんにちはみんなを使用し、私が最も困難な課題の一つだと思います私はPythonでプログラミングするときに文字列を扱うことがあります。助けることができる人がいますか?
私が頻繁に直面する問題の1つは、文字列を変換して正しく使用できることです。例えば:私は結果で、私は次の操作を行うことができるだろう、という方法で、この文字列を変換するにはどうすればよい
#consider I have the following string I want to work with:
my_input = 'insert 3 ["psyduck", 30]!!!insert 10 ["a nice day at the beach", 100]!!!find 3!!!find 10'
:
1 - 区切り部分文字列を次のような変数に変換します。
command = 'insert'
node = '3' #or the int 3
list = '["psyduck", 30]'
2 - または何とか最後にこれを行うために私を可能にする他のソリューション:
listOfCommands = [['insert', '3', '["psyduck", 30]'], ['insert', '10', '["a nice day at the beach", 100]'], ['find', '3'], ['find', '10']]
私は次の操作を実行するために、このリストを必要とする:
はfor entry in listOfCommands:
if entry[0] == 'insert':
#I will execute a part of the program
elif entry[0] == 'update':
#execute something else
elif entry[0] == 'find':
#execute something else
問題は、I入力に表示される内容(コマンドの数または追加しなければならない情報のサイズ)を知らないでください。 [コマンドを保存するか、更新する必要があるコマンド、保存または更新する必要のある情報]または[コマンド、a 'ノード'私は見つけるか削除する]とブロックは 'で区切られます!!!
私はメインプログラムの周りを歩くことができますが、正しく動作させるためには、この入力をこのような特殊な方法でフォーマットする必要があります。
ええ、入力の複雑さによっては、この小さなハックがうまくいくかもしれません。 –
リストを取得するには、常に 'ast.literal_eval'を使用できます。 –
ええ、それは対応するコマンドの仕事なので、第3引数を解析することはできませんでしたが、おそらく 'json'または' ast.literal_eval'のいずれかが機能します。 –