小编Arm*_*das的帖子

dict.get()方法返回一个指针

假设我有这段代码:

my_dict = {}
default_value = {'surname': '', 'age': 0}

# get info about john, or a default dict
item = my_dict.get('john', default_value)

# edit the data
item[surname] = 'smith'
item[age] = 68

my_dict['john'] = item
Run Code Online (Sandbox Code Playgroud)

如果我们现在检查default_value的值,问题就变得清晰了:

>>> default_value
{'age': 68, 'surname': 'smith'}
Run Code Online (Sandbox Code Playgroud)

很明显,它my_dict.get()没有返回default_value 的,而是返回指针(?).

可以通过将代码更改为:

item = my_dict.get('john', {'surname': '', 'age': 0})
Run Code Online (Sandbox Code Playgroud)

但这似乎不是一个很好的方法.有什么想法,评论?

python dictionary pass-by-reference

15
推荐指数
4
解决办法
2万
查看次数

标签 统计

dictionary ×1

pass-by-reference ×1

python ×1