0
我正在寫python網站,我需要使用PostgreSQL作爲我的數據庫。 我想創造一個準備語句更新表,我試圖創建set
爲:Python字典:創建一個準備好的語句
a=dict(b=3, c='d', x=10)
keys=a.keys()
print ",".join([keys[i] + "=$" + str(i + 1) for i in range(0, len(keys))])
從這裏輸出來作爲
x=$1,c=$2,b=$3
可以用來生成一份聲明更新。
我想知道:
- 是否有這更好的選擇嗎?
- 這是一個代價高昂的操作(應該將len(鍵)放入一個變量中,還是作爲一個
O(1)
操作) - 循環內部是否有多個循環?
a.keys()
是否返回密鑰的深層副本,還是隻是一個參考?
爲什麼[]裏面的.join()?你不能離開它並使用發電機形式嗎? – jterrace 2013-02-11 18:57:14
@jterrace:你可以,但是'.join()'在傳遞一個生成器時很慢。使用列表理解反而更快。 – 2013-02-11 18:57:51
有趣,不知道 – jterrace 2013-02-11 18:58:06