1
我試圖在python中實現postscript解釋器。對於程序的這一部分,我試圖訪問列表中同一元素的多次出現,但函數調用不會這樣做。我可以用代碼更好地解釋它。在Python列表中多次發生相同的事情
通過令牌
for token in tokens:
process_token(token)
標記列表這個循環步驟是定義爲:
line = "/three 3 def /four 4 def"
tokens = line.strip().split(" ")
所以經過這樣做了記號的樣子[ '/三', '3',' def','/ four','4','def']。
過程令牌將繼續將事物推到堆棧上,直到達到要完成的操作,在這種情況下爲def。一旦它到達變形點焊將執行:
if (t == "def"):
handle_def (tokens.index(t)-2, tokens.index(t)-1)
stack.pop()
,這裏是handle_def():
def handle_def (t, t1):
name = tokens[t]
defin = tokens [t1]
x=name[1:]
dict1 [x]= float(defin)
當它完成添加問題是{「三化」:3}到字典,它那麼應該繼續閱讀並在字典中添加{'four':4}。但是當調用時,它會傳入第一次出現def的索引號,這意味着它只會將{'three':3}再次放入字典中。我希望它跳過第一個詞,然後去掉def這個詞的後面的部分。我該如何做到這一點?
對不起,很長的文章,但我覺得它需要解釋。
非常感謝您解決了這個問題。 – killermist
@Finalreq請考慮[接受此答案](http://meta.stackexchange.com/a/5235/235416)如果它可以幫助你。 – thefourtheye
我會的,但它說我必須等待4分鐘。 – killermist