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 - Fatal编程技术网

Python 为什么以下代码部分的输出不同?

Python 为什么以下代码部分的输出不同?,python,list,Python,List,G和G1列表的输出不同 numCourses = 2 prerequisites = [[1,0]] G = [[] for i in range(numCourses)] G1 = [[]]*numCourses for i,j in prerequisites: G[j].append(i) for i,j in prerequisites: G1[j].append(i) 我得到以下输出G=[[1],[]]和G1=[[1],[1]]这是一个经典的python问题

G和G1列表的输出不同

numCourses = 2
prerequisites = [[1,0]]

G = [[] for i in range(numCourses)]

G1 = [[]]*numCourses

for i,j in prerequisites:
    G[j].append(i)

for i,j in prerequisites:
    G1[j].append(i)


我得到以下输出G=[[1],[]]和G1=[[1],[1]]

这是一个经典的python问题

G = [[] for i in range(numCourses)]
创建numCourses新的空列表,而

G1 = [[]]*numCourses
首先创建内部空列表,然后创建一个由numCourses副本组成的列表。这就是为什么在G1中更改一个列表时,所有列表都会更改。

请阅读: