tep*_*pez 2 python dictionary for-loop
我无法理解为什么以下代码会给出不同的结果:
from datetime import datetime
def foo():
return {datetime.now() : True}
a = {}
a.update(foo())
a.update(foo())
a.update(foo())
Run Code Online (Sandbox Code Playgroud)
和:
a = {}
for i in xrange(3):
a.update(foo())
Run Code Online (Sandbox Code Playgroud)
前者a最终有三个元素,而后者a最后只有一个元素(从最后一次迭代).
只是你的运气.第二个代码可能在一毫秒(或微秒,取决于您的操作系统)中执行,并提供三个相同的日期时间,首先是不太可能这样做(在您的系统/您执行代码的方式).继续尝试,你最终可能会有两个元素.不要编写依赖于运气的代码.