Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.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
Arrays 附加到二维数组的特定元素_Arrays_Python 3.x_List - Fatal编程技术网

Arrays 附加到二维数组的特定元素

Arrays 附加到二维数组的特定元素,arrays,python-3.x,list,Arrays,Python 3.x,List,我有一个列表arr包含n个空列表和另一个列表索引,整数范围为0到n-1 n = 4 e = [] arr = [e]*(n) indices = [0,2,3,0,2,1,3] 我想做的是获取索引中的每个元素I,并将一些变量附加到arr的第I个元素。代码如下所示 var = 1 for i in indices: arr[i].append(var) 我正在导出的arr将在其第一个列表中有两个元素,一个在其第二个列表中,等等。但

我有一个列表
arr
包含n个空列表和另一个列表
索引
,整数范围为0到n-1

    n = 4
    e = []
    arr = [e]*(n)
    indices = [0,2,3,0,2,1,3]
我想做的是获取
索引中的每个元素
I
,并将一些变量附加到
arr
的第I个元素。代码如下所示

    var = 1
    for i in indices:
        arr[i].append(var)
我正在导出的
arr
将在其第一个列表中有两个元素,一个在其第二个列表中,等等。但是,当我打印
arr
时,我得到以下信息

[[1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1]]

尝试按如下方式更改第一个块:

n = 4
arr = [[] for i in range(n)]
indices = [0,2,3,0,2,1,3]
现在一切都好了

更多信息 当您将
arr
定义为
arr=[e]*(n)
时,arr中的每个列表都指向内存中的相同位置(即
e
)。因此,在
arr
中更改一个元素将更改所有元素。但是,当您将arr定义为范围(n)中的i的
arr=[]]
时,元素将是独立的