Python中文
首页
教程
问答
标签
搜索
登录
注册
同时添加2个python类对象
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我在添加两个类对象时遇到一些问题。 这是给我的代码,它将运行我的文件、超日志和示例文本文件:</p> <pre><code>import HyperLogLog import sys hlls = [HyperLogLog.HyperLogLog() for _ in range(5)] with open(sys.argv[1], "r") as file: for line in file: cleanLine = line.replace("\n", "") (cmd, set, value) = cleanLine.split(" ")[:3] # See if this was an add, count, or merge command if cmd == "A": hlls[int(set)].add(value) elif cmd == "C": estimate = hlls[int(set)].count() print("Estimate:", estimate, "Real count:", value) elif cmd == "M": (cmd, m1, m2, m3) = cleanLine.split(" ") hlls[int(m3)] = hlls[int(m1)] + hlls[int(m2)] </code></pre> <p>最底层的一行是合并hlls(集合m1)和hlls(集合m2)。hlls(setx)存储一个参数M,这是我的超日志向量。我需要创建一个<strong>add</strong>函数来使上面的加法行工作。我做了如下工作:</p> ^{2}$ <p>这将返回m3集合的正确值。但它也会改变集合m1的self.M值。我怎样才能返回self之外的东西,它将使hlls[int(m3)]和HyperLogLog类的实例具有合并的self.M值?在</p> <p>如果我只返回Sum函数,hlls[int(m3)]不再是HyperLogLog类的实例。在</p> <p>如果我像我这样改变self.M,我会改变hlls[int(m1)]的self.M值。在</p> <p>如果我做一些类似的事情:</p> <pre><code> def __add__(self, other): Sum=other.M for i,value in enumerate(other.M): if value<self.M[i]: Sum[i]=self.M[i] self2=self self2.M=Sum return self2 </code></pre> <p>实例hlls[int(m1)]的self.M值仍然更改。我不明白为什么。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>执行此操作时:</p> <pre><code>self2=self </code></pre> <p><code>self</code>和<code>self2</code>都指向同一个对象,因此当一个对象被更改时,另一个对象也会随之更改。最简单的修复方法是创建一个新的<code>HyperLogLog</code>对象,因此您可以将上面的行替换为:</p> ^{pr2}$
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
10 回答
如何添加表示整数的擦边字符串?
1 回答
如何添加要在Bokeh中使用的新font.ttf文件?
10 回答
如何添加要显示的矩阵XY轴编号和XY轴
2 回答
如何添加计数?
8 回答
如何添加计数器函数?
1 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
9 回答
如何添加计数器来跟踪while循环中的月份和年份?
7 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
1 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
1 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
4 回答
如何添加评论拉梅尔亚姆
8 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
5 回答
如何添加谷歌地点自动完成到Flask?
4 回答
如何添加超时、python discord bot
6 回答
如何添加超过1dp的检查
10 回答
如何添加距离方法
6 回答
如何添加跟随游戏的敌人精灵
2 回答
如何添加路径以便python可以找到程序?
1 回答
如何添加身份验证/安全性以使用happybase访问HBase?
2 回答