Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python目录列表:如何动态操作?_Python_List_Dictionary - Fatal编程技术网

Python目录列表:如何动态操作?

Python目录列表:如何动态操作?,python,list,dictionary,Python,List,Dictionary,有没有可能制作一个dict列表,这样当我更改dict的内容时,包含的列表会反映它(尽管只是存储在原始dict的副本中) 而不是 [{1: 6, 2: 7}, {3: 3, 4: 4}] (我的目标是拥有一个可以水平和垂直导航的二维表格结构,并避免在任何单元格中输入每个新值后刷新列和行。我需要类似指针的行为)而不是重新分配a,您可以就地修改它 a[1] = 6 a[2] = 7 您可以就地修改它,而不是重新分配a a[1] = 6 a[2] = 7 您可以使用而不是重新分配来就地更新a: a

有没有可能制作一个dict列表,这样当我更改dict的内容时,包含的列表会反映它(尽管只是存储在原始dict的副本中)

而不是

[{1: 6, 2: 7}, {3: 3, 4: 4}]

(我的目标是拥有一个可以水平和垂直导航的二维表格结构,并避免在任何单元格中输入每个新值后刷新列和行。我需要类似指针的行为)

而不是重新分配
a
,您可以就地修改它

a[1] = 6
a[2] = 7

您可以就地修改它,而不是重新分配
a

a[1] = 6
a[2] = 7

您可以使用而不是重新分配来就地更新
a

a.clear()
a.update({1: 6, 2: 7})
(另见:)


使用您的完整示例:

>>> a = {1: 1, 2: 2}
>>> b = {3: 3, 4: 4}
>>> c = [a, b]
>>> c
[{1: 1, 2: 2}, {3: 3, 4: 4}]
>>> a.clear()
>>> a.update({1: 6, 2: 7})
>>> c
[{1: 6, 2: 7}, {3: 3, 4: 4}]  # <--
>a={1:1,2:2}
>>>b={3:3,4:4}
>>>c=[a,b]
>>>c
[{1: 1, 2: 2}, {3: 3, 4: 4}]
>>>a.清除()
>>>更新({1:6,2:7})
>>>c

[{1:6,2:7},{3:3,4:4}]#您可以使用更新
a
而不是重新分配它:

a.clear()
a.update({1: 6, 2: 7})
(另见:)


使用您的完整示例:

>>> a = {1: 1, 2: 2}
>>> b = {3: 3, 4: 4}
>>> c = [a, b]
>>> c
[{1: 1, 2: 2}, {3: 3, 4: 4}]
>>> a.clear()
>>> a.update({1: 6, 2: 7})
>>> c
[{1: 6, 2: 7}, {3: 3, 4: 4}]  # <--
>a={1:1,2:2}
>>>b={3:3,4:4}
>>>c=[a,b]
>>>c
[{1: 1, 2: 2}, {3: 3, 4: 4}]
>>>a.清除()
>>>更新({1:6,2:7})
>>>c
[{1:6,2:7},{3:3,4:4}]#当你这样做的时候

a = {1: 6, 2: 7}
您只需重新分配变量
a
,这样它就会指向新的dict,而变量
c
根本不会被修改。
a
的上一个值仅保留为
c
的第一个元素

因此,您必须更改
c
的元素,如:

c[0] = {1: 6, 2: 7}
或更改
a
的元素(但不重新分配
a
):

当你这样做的时候

a = {1: 6, 2: 7}
您只需重新分配变量
a
,这样它就会指向新的dict,而变量
c
根本不会被修改。
a
的上一个值仅保留为
c
的第一个元素

因此,您必须更改
c
的元素,如:

c[0] = {1: 6, 2: 7}
或更改
a
的元素(但不重新分配
a
):