【发布时间】:2015-01-26 18:49:31
【问题描述】:
假设我在 Python 中遇到了这样的情况:
_avg = {'total':0.0, 'count':0} # HACK: side-effects stored here
def procedure(n):
_avg['count'] += 1
_avg['total'] += n
return n
def get_average():
return _avg['total'] / _avg['count']
my_dict = {
'key0': procedure(0),
'key2': procedure(2),
'key1': get_average()
}
assert(my_dict['key1'] == 1.0)
我知道my_dict.keys() 的顺序是未定义的,但我想知道通过这样的文字进行的初始化 是否保证以特定的顺序发生。 my_dict['key1'] 的值是否始终如所断言的那样为 1.0?
【问题讨论】:
标签: python dictionary