手机网站生成代码,wordpress标签云修改,网站建设 小白,农产品网站开发方案我对列表副本有一些问题#xff1a;所以之后我得到了E0来自get_edge#xff0c;我做的副本E0通过调用E0_copy list(E0)。我猜这里E0_copy是的较深的副本E0#xff0c;我通过E0_copy了karger(E)。但是在主要功能上。为什么print E0[1:10]for循环之前的结果与for循环之后的结…我对列表副本有一些问题所以之后我得到了E0来自get_edge我做的副本E0通过调用E0_copy list(E0)。我猜这里E0_copy是的较深的副本E0我通过E0_copy了karger(E)。但是在主要功能上。为什么print E0[1:10]for循环之前的结果与for循环之后的结果不同下面是我的代码def get_graph():fopen(kargerMinCut.txt)G{}for line in f:ints [int(x) for x in line.split()]G[ints[0]]ints[1:len(ints)]return Gdef get_edge(G):E[]for i in range(1,201):for v in G[i]:if vi:E.append([i,v])print id(E)return Edef karger(E):import randomcount200while 1:if count 2:breakedge random.randint(0,len(E)-1)v0E[edge][0]v1E[edge][1]E.pop(edge)if v0 ! v1:count - 1i0while 1:if i len(E):breakif E[i][0] v1:E[i][0] v0if E[i][1] v1:E[i][1] v0if E[i][0] E[i][1]:E.pop(i)i-1i1mincutlen(E)return mincutif __name____main__:import copyG get_graph()results[]E0 get_edge(G)print E0[1:10] ## this result is not equal to print2for k in range(1,5):E0_copylist(E0) ## I guess here E0_coypy is a deep copy of E0results.append(karger(E0_copy))#print the result is %d %min(results)print E0[1:10] ## this is print2