python 课堂上有太多自我

2024-04-24

我正在学习 Python OOP 并尝试将 Java 类转换为 Python 类

请参阅此 PDF 中的第 15 页了解 Java 代码 google 文档link https://docs.google.com/open?id=1eqzajOqxWtR7uLZqWI1TMhqK2J6tCR_bJkEobb064WEkIR73REu916gcSlug

class QuickFindUF:
        """docstring for QuickFindUF"""


    def __init__(self, n):
            self.id = []
            for e in range(n):
                    self.id.append(e)


    def connected(self,p,q):
            return self.id[p]==self.id[q]

    def union(self,p,q):
            self.pid = self.id[p]
            self.qid = self.id[q]
            for i in range(len(self.id)):
                    if(self.id[i]==self.pid):
                            self.id[i]=self.qid


quf = QuickFindUF(9)
quf.union(3,4)
print quf.connected(3,4)

有16个self该类中的关键字。有没有更好的方法来编写这个类?


是的,您不想将这些变量分配给self,这些是局部变量:

def union(self,p,q):
        self.pid = self.id[p]
        self.qid = self.id[q]
        for i in range(len(self.id)):
                if(self.id[i]==self.pid):
                        self.id[i]=self.qid

应该:

def union(self,p,q):
    pid = self.id[p]
    qid = self.id[q]
    for i in range(len(self.id)):
        if self.id[i] == pid:
            self.id[i] = qid

你只使用self引用实例变量时,而不是方法内部的任何变量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 课堂上有太多自我 的相关文章

随机推荐

  • 将字符串时间和日期转换为 DateTime - Dart/Flutter [重复]

    这个问题在这里已经有答案了 我有两个String inputs date time date好像12 01 2021 and time好像23 00 我想知道一种有效的方法将它们转换为DateTime使用 Flutter Dart 的对象
  • Netsuite - 如何为 getall 请求指定 record_type

    我想获取所有 InventoryItems 的列表 根据这份文件 https system netsuite com help helpcenter en US Output Help SuiteCloudCustomizationScri
  • 停止接收来自被破坏的子组件的事件

    我有一个父级 我可以在其中动态添加子组件 当在挂载中添加子组件时 我为事件注册一个侦听器 EventBus on content type saving function logic here 问题是 当通过从子组件数组中删除该组件而在父组
  • 获取类实现的接口

    我正在做装配分析项目 遇到了问题 我想要实现的是一个类实现的所有接口的列表 但没有派生接口 以及派生类实现的接口 这是一个例子来说明 来自 LinqPad Dump 是打印到结果窗口 void Main typeof A GetInterf
  • 即使我已禁用所有相关 CSS,我的网站链接下仍出现蓝线? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我尝试过禁
  • WebPack-Dev-Server 错误:未定义 require

    Webpack 本身工作正常 但 webpack dev server 却不行 基本上 webpack 为我创建了 2 个构建文件 一个后端包和一个前端包 因此 我为每一个都有一个 webpack config js 我想使用 webpac
  • C 中何时释放指针以及如何知道它是否被释放

    我是 C 语言的新手 试图弄清楚 C 语言中的内存分配 我有点困惑 include
  • ejabberd 支持离线文件传输吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在开发 XMPP 客户端 使用 ejabberd 作为服务器 我的问题是如何支持离线文件传输 我只想对图像文件进行离线文件传输 例如 即使约翰离线
  • WordPress:本地主机上的自定义默认头像?

    我正在尝试在functions php 中向WordPress 添加自定义默认头像 但该图像未显示在 设置 讨论 或网站上的其他位置 该代码有效 因为添加了带有自定义字段名称的新单选字段 但图像不会显示 头像不显示是因为我使用的是本地主机吗
  • ASP.NET 在当前上下文中不存在

    我面临一个问题 我使用了 dropdownList 控件 ID 是drpDownCountries在 ASP NET 项目中 dropdownlist控件放置在页面上 在C 的代码隐藏文件中 同时键入控件名称drpDownCountries
  • 将 XML 作为参数传递给 Web 服务

    In an answer https stackoverflow com questions 2597056 is there an xmlencode xmldecode for net 2597262 2597262对于另一个问题 有人
  • 生成器理解如何工作?

    生成器理解有什么作用 它是如何工作的 我找不到有关它的教程 你了解列表推导式吗 如果是这样 生成器表达式就像一个列表理解 但它不是查找您感兴趣的所有项目并将它们打包到列表中 而是等待 并从表达式中逐一生成每个项目 gt gt gt my l
  • 我如何选择这个跨度元素?

    我刚刚开始使用 Selenium 现在需要选择这个元素 span class close Matrices span 这行代码返回零个元素 所以我猜它不是正确的 ReadOnlyCollection
  • Criteria.DISTINCT_ROOT_ENTITY 不会阻止重复的对象

    我有以下 dao 方法 Override public List
  • 玩法:如何实现动作组合

    鉴于以下情况ActionBuilder实施 class SignedRequest A request Request A extends WrappedRequest A request object SignedAction exten
  • 创建具有通用返回类型的 FlinkSQL UDF

    我想定义函数MAX BY接受类型值T和类型的订购参数Number并根据排序从窗口返回最大元素 类型为T 我试过了 public class MaxBy
  • 在哪里可以找到所有谷歌地图 v3 事件列表?

    正如标题 我搜索了官方谷歌地图 API 参考和其他网站 我找不到完整可用事件的文档列表 请给我一个提示来获取所有 v3 事件 多谢 API参考 https developers google com maps documentation j
  • JavaScript 获取当前应用于元素的样式列表

    List only渲染的样式 而不是未应用的任意样式 我尝试了很多方法来将样式应用于元素 但结果都是空白 请不要引用getComputedStyle除非你能解决垃圾退货问题 否则这是一个解决方案 主要问题是window getCompute
  • 有没有办法让 gpg 签署所有以前的提交?

    正如标题所示 我正在寻找一种方法来 gpg 签署存储库中我以前的所有提交 最好不要为每次提交输入密码 我的方法是 git rebase exec git commit amend no edit n S i 8fd7b22 所有提交从下一个
  • python 课堂上有太多自我

    我正在学习 Python OOP 并尝试将 Java 类转换为 Python 类 请参阅此 PDF 中的第 15 页了解 Java 代码 google 文档link https docs google com open id 1eqzajO