Python列表初始化

时间:2017-07-04 16:54:06

标签: python-2.7

我有一个字典条目列表,我首先初始化,然后只想更改9个列表条目中的2个。但在更改其中一个条目后,列表中的所有条目都已更改。

    In [1]: cell_init = {'state':False, 'age':0}

    In [2]: cell_list = []

    In [3]: n = 3

    In [4]: for index in range(n * n):
       ...:     cell_list.append(cell_init)
       ...:     

    In [6]: cell_list
    Out[6]: 
    [{'age': 0, 'state': False},
     {'age': 0, 'state': False},
     {'age': 0, 'state': False},
     {'age': 0, 'state': False},
     {'age': 0, 'state': False},
     {'age': 0, 'state': False}, 
     {'age': 0, 'state': False},
     {'age': 0, 'state': False},
     {'age': 0, 'state': False}]

    In [8]: cell_entry = cell_list[2]

    In [9]: cell_entry
    Out[9]: {'age': 0, 'state': False}

    In [10]: cell_entry['state'] = True

    In [11]: cell_list
    Out[11]: 
    [{'age': 0, 'state': True},
     {'age': 0, 'state': True},
     {'age': 0, 'state': True},
     {'age': 0, 'state': True},
     {'age': 0, 'state': True},
     {'age': 0, 'state': True},
     {'age': 0, 'state': True},
     {'age': 0, 'state': True},
     {'age': 0, 'state': True}]

为什么所有这些条目都会改变?

0 个答案:

没有答案