python中copy.deepcopy_Python eval

python中copy.deepcopy_Python eval仅出于教育目的,我尝试实现copy.deepcopy()的克隆函数。在在玩了一番代码并在谷歌上搜索之后,我想出了以下函数:defmy_deepcopy(data):ifisinstance(data,dict):result={}forkey,valueindata.items():result[key]=my_deepcopy(value)assertid(result)…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

仅出于教育目的,我尝试实现copy.deepcopy()的克隆函数。在

在玩了一番代码并在谷歌上搜索之后,我想出了以下函数:def my_deepcopy(data):

if isinstance(data, dict):

result = {}

for key, value in data.items():

result[key] = my_deepcopy(value)

assert id(result) != id(data)

elif isinstance(data, list):

result = []

for item in data:

result.append(my_deepcopy(item))

assert id(result) != id(data)

elif isinstance(data, tuple):

aux = []

for item in data:

aux.append(my_deepcopy(item))

result = tuple(aux)

assert id(result) != id(data)

elif isinstance(data, (int, float, type(None), str, bool)):

result = data

else:

raise ValueError(“unexpected type”)

return result

似乎可以使用所有Python原语类型及其组合:

^{pr2}$

到目前为止,还不错,但是Arbitrary Types呢?如何复制任意对象的实例?我如何检测到它?任意类型是否有任何类型的复制构造函数?在

我的函数中缺少什么可以使以下代码正常工作:class Xpto:

pass

arbitrary = [ Xpto(), Xpto() ]

my_deepcopy( arbitrary ) #ValueError(“unexpected type”)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189058.html原文链接:https://javaforall.net

(0)
上一篇 2026年4月14日 下午8:01
下一篇 2026年4月14日 下午8:07


相关推荐

  • 内存地址的概念和理解

    内存地址的概念和理解1 内存地址用 4 位 16 进制和 8 位 16 进制表示的区别 例如经常可以看到某些书籍上写的内存地址 0x0001 在另外一些书籍上写的内存地址又变成了 0x00000001 都是表示的编号为 1 的内存地址 为什么一个是 4 位 16 进制表示 另外一个又是用 8 位 16 进制表示呢 首先 必须要知道内存地址只是一个编号 代表一个内存空间 那么这个空间是多大呢 原来在计算机中存储器的容量是以字节为基本单位的 也就是说一个内存

    2026年3月16日
    2
  • 非同构无向图(同形同构)

    题目链接:http://codeforces.com/problemset/problem/103/B大意:判断图的形状是否为一个章鱼型(?)由几棵树构成,树的根节点围成一个环。思路:只需判断一棵树内加一个环即可。判断方法:边数==顶点数&&连通图#include#definemem(s,t)memset(s,t,sizeof(s))

    2022年4月13日
    221
  • GB50174-2017机房标准_机房建设标准规范 2018

    GB50174-2017机房标准_机房建设标准规范 2018中华人民共和国国家标准电子计算机机房设计规范GB50174-93中华人民共和国国家标准电子计算机机房设计规范GB50174-93DesignCodeforElectronicComputerRo批准部门:中华人民共和国建设部1993年2月17日1993年9月1日实施第一章总则第1.0.1条为了使电子计算机机房设计确保电子计算机系统稳定可靠运行及保障机房工作人员有良好的工作环境,做到…

    2022年10月2日
    4
  • CCLayer在Touch事件(Standard Touch Delegate和Targeted Touch Delegate)

    CCLayer在Touch事件(Standard Touch Delegate和Targeted Touch Delegate)

    2022年1月3日
    59
  • 机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)

    机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)机器学习算法与 Python 实践之 七 逻辑回归 LogisticRegr blog csdn net zouxy09 nbsp nbsp nbsp nbsp nbsp 机器学习算法与 Python 实践这个系列主要是参考 机器学习实战 这本书 因为自己想学习 Python 然后也想对一些机器学习算法加深下了解 所以就想通过 Python 来实现几个比较常用的机器学习算法 恰好遇见这本同样

    2026年3月17日
    2
  • 漯河恢复常态化疫情防控工作_你尝试使用的应用程序

    漯河恢复常态化疫情防控工作_你尝试使用的应用程序问题:windows平台怎么运行.netcore控制台解决一:.netcore跨平台,控制台在生成后并不会生成exe文件直接在生成目录启用cmd,或者直接cd到相应目录startdotnet你的控制台名字.dll 问题:强制生成exe文件在控制台项目管理文件 xxx.csproj 添加下面一行<PropertyGroup>  <Outp…

    2025年5月28日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号