2016-05-31 136 views
-6

我有以下幾點:蟒蛇,改變字典值與迭代

max_id = 10 
    for i in range(max_id): 
     payload = "{\"text\": 'R'+str(i),\"count\":\"1 \",}" 
     print(payload) 

我想通過這個迭代,並有文字的值設置爲「R1」,「R2」 ......在調試輸出是:

{"text": 'R'+str(i),"count":"1",} 

我在做什麼錯?

+8

仔細檢查雙引號。在你的問題中的語法突出顯示可能會給你一個提示。 –

+4

[在python中的字符串插值](http://stackoverflow.com/questions/4450592/string-interpolation-in-python) –

+0

基於http://stackoverflow.com/questions/4450592/string-interpolation-in-python ,我已經想出了payload =「{\」text \「:%s,\」count \「:\」1 \「}」%(「R」+ str(i)) - 謝謝 – user61629

回答

1
for i in range(max_id): 
    payload = "{\"text\": R"+str(i)+",\"count\":\"1 \",}" 
    print(payload) 

雙引號問題。

輸出:

{"text": R0,"count":"+i+ ",} 
{"text": R1,"count":"+i+ ",} 
{"text": R2,"count":"+i+ ",} 
{"text": R3,"count":"+i+ ",} 
{"text": R4,"count":"+i+ ",} 
{"text": R5,"count":"+i+ ",} 
{"text": R6,"count":"+i+ ",} 
{"text": R7,"count":"+i+ ",} 
{"text": R8,"count":"+i+ ",} 
{"text": R9,"count":"+i+ ",} 

我是你正在尋找這一個。

for i in range(10): 
    payload = "{\"text\": R%s,\"count\":\"1 \",}" %(i) 
    print(payload) 
+0

謝謝,我認爲人們想要更多pythonic方法,請看我的評論。你的方式確實工作,雖然 – user61629

+0

@ user61629更新了問題。請檢查一下。 –

+0

如果您使用單引號作爲分隔符,讀取和寫入會變得更加容易:我正在使用窗口,它使用單引號作爲分隔符:'payload ='{「text」:R%s,「count」:「1」,}「%(i)' – Matthias