我看到一些代碼,這種模式暫時修改字典蟒蛇的食譜,我正在寫在飛行
e = {...} # a dictionary
e["table"] = "users"
e["timestamp"] = time.time()
queue.push(e)
del e["table"]
del e["timestamp"]
[...]
e["table"] = "events"
queue2.push(e)
del e["table"]
# etc..
我解複用了一些排隊的事件,但每個隊列有一個稍微不同的格式。我已經開始這樣做:
queue.push(dict(e.items() + [("table":"users"), ("timestamp", time.time())]))
但它看起來很醜,它會減慢代碼。我還可以做些什麼?
漂亮,乾淨的解決方案。我看到的唯一可能的缺點是它會使元素訪問速度變慢。 OTOH,如果沒有很多的訪問和字段更新的數量大 – goncalopp 2014-08-28 17:06:00
不'MergeDicts'需要調用其超在自己的'__init __()'這可能有更好的表現?否則,它不是一個正確初始化子... – martineau 2014-08-28 17:36:06
'MergedDicts'似乎並沒有採取的事實,這本身就是一個'dict'優勢;所有的工作都是由新的'dicts'屬性完成的。 – chepner 2014-08-28 17:44:26