【发布时间】:2012-11-28 03:10:59
【问题描述】:
我对字典列表有点头疼。
def funk(x):
for i in x:
i['a'] += 1
print i
list1 = [{'a':1, 'b':2}, {'a':3, 'b':4}]
funk(list1)
print list1
这将输出:
{'a': 2, 'b': 2}
{'a': 4, 'b': 4}
[{'a': 2, 'b': 2}, {'a': 4, 'b': 4}]
但我想要这个:
{'a': 2, 'b': 2}
{'a': 4, 'b': 4}
[{'a':1, 'b':2}, {'a':3, 'b':4}]
如何让list1 保持原样?
例如:[{'a':1, 'b':2}, {'a':3, 'b':4}]
【问题讨论】:
-
首先,Python 中的一切都是按值传递的。但是 Python 中的每个值都是指向对象的指针。
标签: python pass-by-value