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 课堂上有太多自我 的相关文章

  • 按位置对 MultiIndex pandas DataFrame 进行切片

    我目前正在尝试按位置对具有三个级别的多索引数据帧进行切片 我正在使用熊猫 19 1 Level0 Level1 Level2 Value 03 00368 A Item111 6 9 03 00368 A Item333 19 2 03 0
  • 如何提取图像中的表格

    我想从图像中提取表格 这个 python 模块https pypi org project ExtractTable https pypi org project ExtractTable 与他们的网站https www extractta
  • 在Python中解析制表符分隔的文件

    我正在尝试在 Python 中解析一个制表符分隔的文件 其中与行开头分开的 k 个制表符的数字应该放入第 k 个数组中 除了逐行读取并执行简单解决方案将执行的所有明显处理之外 是否有内置函数可以执行此操作 或者有更好的方法 您可以使用the
  • 字典损坏了键的名称 [Python]

    我的问题是 当我输入带重音的输入时 字典会存储不同的键名 它会用字符代码替换重音字符 我是新来的 我接受一切帮助 感谢您的帮助 usr bin python coding utf 8 products try prodNum int raw
  • Python 中快速、小型且重复的矩阵乘法

    我正在寻找一种使用 Python Cython Numpy 快速将许多 4x4 矩阵相乘的方法 任何人都可以给出任何建议吗 为了展示我当前的尝试 我有一个需要计算的算法 A 1 A 2 A 3 A N 哪里每个 A i A j Python
  • 在 Python、Django 中下载的文件始终为空

    我在 Django 中使用以下视图来创建文件并使浏览器下载它 def aux pizarra request myfile StringIO StringIO myfile write hello response HttpResponse
  • 快速NLTK解析成语法树

    我正在尝试将数百个句子解析为语法树 我需要快速完成 问题是如果我使用 NLTK 那么我需要定义一个语法 而我不知道我只知道它会是英语 我尝试使用this https github com emilmont pyStatParser统计解析器
  • Pyside QPushButton 和 matplotlib 的连接

    我正在尝试使用 matplotlib 开发一个非常简单的 pyside Qt 程序 我希望按下按钮时绘制图表 到目前为止 我可以在构造函数上绘制一些东西 但无法将 Pyside 事件与 matplotlib 连接起来 有没有办法做到这一点
  • 不使用 OpenCV 获取图像掩模

    我正在尝试以下方法从该图像中获取蒙版 但不幸的是我失败了 import numpy as np import skimage color import skimage filters import skimage io get filena
  • Python 字典组并对多个值求和[重复]

    这个问题在这里已经有答案了 我在字典格式列表中有一组数据 如下所示 data name A tea 5 coffee 6 name A tea 2 coffee 3 name B tea 7 coffee 1 name B tea 9 co
  • 在Python中将一个方法(带参数)传递给另一个方法的最佳方法是什么

    将方法和方法参数传递给另一个方法的最佳方法是什么 有更好的方法来执行以下操作吗 def method1 name return Hello name def method2 methodToCall methodToCallParams q
  • 屏幕截图中低分辨率文本的 OCR

    我正在编写一个 OCR 应用程序来从屏幕截图图像中读取字符 目前 我只关注数字 我的方法部分基于这篇博文 http blog damiles com 2008 11 basic ocr in opencv http blog damiles
  • 如何使用 pandas groupby 函数根据 groupby 值应用公式

    我的问题可能有点令人困惑 所以让我解释一下 我有一个信息数据框 我想按唯一订单 ID 对其进行分组 该 ID 将生成以下列 sum qty 每个订单 ID 执行的总金额 csv 这是每个订单 ID 的 csv 列的总和除以订单 ID 的已执
  • 维基百科与 Python

    我有这个非常简单的 python 代码来读取 wikipedia api 的 xml import urllib from xml dom import minidom usock urllib urlopen http en wikipe
  • 为什么在尝试导入随机模块时会收到 TypeError: 'module' object is not callable ?

    我正在使用 Python 2 6 并尝试运行一个简单的随机数生成器程序 random py import random for i in range 5 random float 0 0 lt number lt 1 0 print ran
  • 使用 python mechanize 库登录 https 站点

    我有以下代码 import requests import sys import urllib2 import re import mechanize import cookielib import json import imp prin
  • 在ubuntu 18.04上安装python 2.7

    有没有办法在 Ubuntu 18 04 上安装 Python 2 7 我尝试了这个命令 但它不起作用 sudo apt install python minimal 有没有办法手动安装 我尝试使用 python 2 7 作为不支持 pyth
  • 在python中求Legendre多项式的根

    我正在编写一个程序 通过勒让德 高斯求积求解积分 n 阶求积算法需要在某一时刻找到 n 阶勒让德多项式 Pn x 的根 并将它们分配给数组 Absc 表示 横坐标 Pn 是一个 n 阶多项式 在区间 1 1 上有 n 个独立的实根 我希望能
  • python - lxml:强制执行属性的特定顺序

    我有一个 XML 编写脚本 可以为特定的第 3 方工具输出 XML 我使用原始 XML 作为模板来确保构建所有正确的元素 但最终的 XML 看起来与原始的不同 我以相同的顺序编写属性 但 lxml 按自己的顺序编写它们 我不确定 但我怀疑第
  • 如何在从左到右、从上到下排序的二维数组中搜索数字?

    我最近收到了这个面试问题 我很好奇有什么好的解决方案 假设我有一个二维数组 其中所有 数组中的数字在增加 从左到右 从上到下的顺序 底部 搜索和搜索的最佳方式是什么 判断目标号码是否在 大批 现在 我的第一个倾向是使用二分搜索 因为我的数据

随机推荐

  • 将字符串时间和日期转换为 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