以下は、Pythonコードを使用して、リスト内のappend、sort、printのような操作を実行します。L
。私はコードを分析していましたが、コード内のいくつかの行を理解できませんでした。以下の数行のpythonコードスニペットについては、説明が必要です。
l = []#declare the list
choices = {"0": "", "1": "{}()", "2": "{}({})", "3": "{}({}, {})"}#dicationary declaration
for _ in range(int(raw_input())): #prompt for user input and iterate
cmds = raw_input().split(" ") #get the operation that needs to be performed on the list
choice = str(len(cmds)) #get the length
if cmds[0] == "print": print l #print the list
elif choice in choices: eval("l." + choices[choice].format(*cmds))
辞書宣言、choices = {"0": "", "1": "{}()", "2": "{}({})", "3": "{}({}, {})"}
はブラケットと括弧を持って、私はその重要性を理解することができません。最後の行elif choice in choices: eval("l." + choices[choice].format(*cmds))
があるため、Pythonのコードを実行するために使用されている
eval
機能の神秘的のようです。- 文字列機能
format
記号の追加が不明瞭なように見える*
。
入力はこれは本当に醜いコードで以下の形式で
insert 0 6
print
remove 6
append 9
どこでこのコードを見つけましたか? – roganjosh
'eval'は一般に安全ではありません。あなたは何をしようとしているのですか? – Chris
@roganjosh @ hankerankから入手しました –