我对列表副本有一些问题:

所以之后我得到了E0来自'get_edge',我做的副本E0通过调用'E0_copy = list(E0)'。我猜这里E0_copy是的较深的副本E0,我通过E0_copy了'karger(E)'。但是在主要功能上。

为什么'print E0[1:10]'for循环之前的结果与for循环之后的结果不同?

下面是我的代码:

def get_graph():

f=open('kargerMinCut.txt')

G={}

for line in f:

ints = [int(x) for x in line.split()]

G[ints[0]]=ints[1:len(ints)]

return G

def get_edge(G):

E=[]

for i in range(1,201):

for v in G[i]:

if v>i:

E.append([i,v])

print id(E)

return E

def karger(E):

import random

count=200

while 1:

if count == 2:

break

edge = random.randint(0,len(E)-1)

v0=E[edge][0]

v1=E[edge][1]

E.pop(edge)

if v0 != v1:

count -= 1

i=0

while 1:

if i == len(E):

break

if E[i][0] == v1:

E[i][0] = v0

if E[i][1] == v1:

E[i][1] = v0

if E[i][0] == E[i][1]:

E.pop(i)

i-=1

i+=1

mincut=len(E)

return mincut

if __name__=="__main__":

import copy

G = get_graph()

results=[]

E0 = get_edge(G)

print E0[1:10] ## this result is not equal to print2

for k in range(1,5):

E0_copy=list(E0) ## I guess here E0_coypy is a deep copy of E0

results.append(karger(E0_copy))

#print "the result is %d" %min(results)

print E0[1:10] ## this is print2

python深度复制列表_Python-如何深层复制列表?相关推荐

  1. java对象复制_Java对象的深层复制与浅层复制

    TestVO a = new TestVO(); a.setName("xiemingmei"); a.setBirthPlace("Hunan"); Test ...

  2. python如何创建一个列表_python怎样快速构建列表?

    来自"专业人士笔记":创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.zhihu.com Python列表是Python程序中广泛使用的一种 ...

  3. python数据结构的列表_Python自带数据结构 列表(list)

    Python自带数据结构 列表(list) 列表是Python中最通用的数据类型,可以写成方括号之间的逗号分隔值(项目)列表. 使用列表的重要事项是,列表中的项目不必是相同的类型.也就是说一个列表中的 ...

  4. [转载] python字符串数组字典_Python:字符串、列表、元组、字典

    参考链接: Python字符串| ascii_uppercase 字符串: 所有方法都修改不了字符串的值,字符串还是原值:但可以重新赋值:使用字符串方法有返回值 循环字符串的用法: 字符串方法: Na ...

  5. python的编码表_Python算法之旅列表的纷争之二进制编码

    列表的纷争之二进制编码 小美:最近数学老师给我们玩了有趣的猜年龄游戏,他显示了6张表格,你只要观察这6张表格,然后回答"是"与"不是"就可以了.老师可以根据你的 ...

  6. python 删除第三方库_python 安装移动复制第三方库操作

    一.绪论 在使用python开发过程中经常会使用到第三方库.因此就涉及到了如何安装.复制移动. 二.安装方式 第三方库的安装方式 1.python自带包管理器:使用pip命令自动安装.例如:pip i ...

  7. python复制库_python 安装移动复制第三方库操作

    一.绪论 在使用python开发过程中经常会使用到第三方库.因此就涉及到了如何安装.复制移动. 二.安装方式 第三方库的安装方式 1.python自带包管理器:使用pip命令自动安装.例如:pip i ...

  8. python数据结构的列表_Python内置数据结构——列表list

    内置数据结构分类: 数值型 int , float , complex , bool 序列对象 字符串 str 列表 list tuple(元组) 键值对 集合 set 字典 dict 数字型int ...

  9. python如何保存列表_Python 基础知识全篇-列表(Lists)

    示例 列表是元素的集合,存储在一个变量中.列表中存储的元素类型没有限制,下面是列表的一个简单例子. students = ['bernice', 'arron', 'cody'] for studen ...

最新文章

  1. linux终端定时器实验报告,定时器实验报告.doc
  2. nginx 上传文件漏洞_nginx爆惊天漏洞 上传图片就能入侵服务器
  3. 程序给UI美术上的必修课:内存占用, DrawCall和包大小的处理
  4. xss challenge 解题思路(1-3)
  5. mysql kill_Mysql使用kill命令解决死锁问题(杀死某条正在执行的sql语句)
  6. 第二十期:想吃透监控系统,就这一篇够不够?
  7. android launcher分析和修改10,Android Launcher分析和修改10——HotSeat深入进阶
  8. [转]反射(用反射调用任意.net库中的方法)
  9. sql的 lpad函数
  10. html+css实现天猫官网
  11. navicat can not load oci dll,193,126
  12. rundll32.exe命令使用大全
  13. 山西省大同市谷歌高清卫星地图下载
  14. POJ1061 青蛙的约会
  15. 【MySQL】COALESCE( )函数
  16. 陈艾盐:《春燕》百集访谈节目第三十九集
  17. Java基于SM4算法实现文件加密 SM4FileUtils
  18. 收藏的有用博客及源码地址
  19. android 调用下载,使用Android系统提供的DownloadManager来下载文件
  20. Suspicious URL pattern: [/druid/**] ,进入不了druid的后台

热门文章

  1. np.radians_带有Python示例的math.radians()方法
  2. python—面向对象
  3. python风控工具_python-风控模型分析01
  4. fiddler修改支付金额_不容忽视的记账工具:支付宝记账
  5. layui常用的表单标签_Layui常用组件:表格(table)
  6. Java LocalDate类| 带示例的getEra()方法
  7. 信息系统状态过程图_操作系统中的增强型过程状态图
  8. 第 6-2 课:SpringMVC 核心 + 面试题
  9. 不创建 sequence 自增字段
  10. JAVA类(手机充电、放音乐示例)