应该将列表添加到字典然后清除它的程序,首先清除它并将随后的空列表附加到字典中?

2023-12-27

class Matrix:

rowStorer = {}
generalPurposeList = []

def __init__(self,row,column):
    self.row = row
    self.column = column #To store away for a later method that displays statistics about matrice

    for i in range(row):
        for j in range(column):
            numb = int(input('Enter A{}{}: '.format(i+1,j+1))) #i+1 and j+1 so I do not end up with 0 as starting value
            self.generalPurposeList.append(numb)

        self.rowStorer.setdefault(i+1,self.generalPurposeList)
        self.generalPurposeList.clear()


def __str__(self):
    megaMatrix = ''
    for i in self.rowStorer:
        megaMatrix += str(self.rowStorer[i])+'\n'
    return megaMatrix

testRide = Matrix(2,3)
print(testRide.__str__())

我是 Python 课程的初学者,正在尝试制作一个 Matrix 课程作为练习。用户在创建类实例时指定行数和列数。

假设行为 m,列为 n,则使用 for 循环中的 input() 获取任意行 m 的条目 n 次。然后将该数字添加到一个列表中,该列表旨在包含该特定行的元素。当前行号作为键添加到字典中,值为包含该特定行元素的列表

然后,我在将其作为键添加到字典后清除该列表,以清理它并为下一行的元素做好准备。但是,当我运行程序时,似乎先清除列表,然后将其添加到字典中?

我很困惑,我做错了什么?按照代码将其添加到字典后不应该清除吗?


问题是你正在使用self.generalPurposeList so self.rowStorer正在保存对该对象的引用而不是您想要的列表。稍后,您可以使用以下命令清除该对象self.generalPurposeList.clear(),这就是为什么您得到空结果的原因。

改变线路

self.rowStorer.setdefault(i+1,self.generalPurposeList)

to

self.rowStorer.setdefault(i+1,self.generalPurposeList.copy())

这会添加一个新列表,其中包含generalPurposeList列表,清除旧列表不会影响此列表。

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

应该将列表添加到字典然后清除它的程序,首先清除它并将随后的空列表附加到字典中? 的相关文章

随机推荐

  • 循环范围与循环数组之间的性能差异

    循环遍历某个范围与将相同范围分配给数组并循环数组时 性能 速度 会有什么差异吗 循环遍历数组比查找范围要快得多 请参阅下面我的测试 Option Explicit Const strRANGE ADDRESS As String A1 A1
  • 如何禁用触摸 UIBarButtonItem 时出现的灯光?

    我有一个工具栏UIBarButtonItem风格 UIBarButtonItemStylePlain 我想知道如何禁用触摸时出现的灯光 UIButton has showsTouchWhenHighlighted财产 但没有这样的东西UIB
  • C# 如何将不规则日期和时间字符串转换为DateTime?

    我有一个程序可以将不规则的日期和时间字符串转换为系统日期时间 但由于系统无法识别不规则字符串 因此 ParseExact toDateTime和TryParse方法不起作用 程序只需要转换两种类型的日期时间字符串 Thu Dec 9 05
  • 无需复制/粘贴代码即可实现 TObjectList 的排序

    我有一个对节点树中的节点进行排序的过程 虚拟树视图 http www lischke online de index php controls virtual treeview 从 FMM4 报告中提取的所有内存泄漏都存储在 TMemory
  • 颤动的一叠卡片

    我正在尝试创建一堆卡片 相互叠加并偏移 以可视化卡片的多个版本 我尝试过将卡片放入卡片中 但没有找到抵消它们的方法 我也尝试过使用 stack 类 但没有成功 有人知道我怎样才能达到这个效果吗 您使用 Stack 的方向是正确的 您只需要弄
  • 循环遍历列表以创建多个 Excel 文件

    您好 我正在尝试循环遍历列表以创建多个 Excel 文件 不是工作表 我能够在下面的代码中创建单独的数据框 但我想知道是否有人有通过循环列表创建多个 Excel 文件并使用每个公司名称创建多个 Excel 文件的示例 from dateti
  • 向量的模式匹配“case Nil”

    读完这篇文章后post https stackoverflow com a 10199441 409976关于如何使用模式匹配Vector 或任何实现的集合Seq 我在这个集合上测试了模式匹配 scala gt x Vector res38
  • 如何使用python opencv找到图像中黑色物体的中心?

    我在白色背景上查找黑色物体的轮廓时遇到问题 在这里我添加了一个图像的示例 现在我需要找到黑色区域的中心 我使用以下代码 im cv2 imread img plt imshow im gray cv2 cvtColor im cv2 COL
  • symfony 2:命名空间“Acme”不包含任何映射实体

    我正在关注这本书和页面http symfony com doc current book doctrine html http symfony com doc current book doctrine html 在阅读这本书时 我试图处理
  • 数据分析任务 - 自定义分析请求

    是否有任何选项可以为 SSIS 数据分析任务创建自定义配置文件请求 目前 SSIS 数据分析任务下有 5 个标准分析请求 列空比率配置文件请求 列统计资料请求 列长度 分布配置文件请求 列值分布配置文件请求 候选人关键资料请求 我需要添加另
  • 缩短 Angular 7 中的 SCSS 导入路径

    当我创建一个组件时 它嵌套得很深 如果我想导入一个共享的 scss 我必须用很长的路径导入它 例如 import app shared scss 这不会发生在 ts文件 我可以配置tsconfig json paths src src ap
  • 模板继承:没有依赖于模板参数的参数[重复]

    这个问题在这里已经有答案了 我在编译以下代码时遇到了这个错误 经过一些研究并阅读不同情况下的类似错误后 我想出了我需要的解决方案 但我并没有完全理解错误的根本原因和修复方法 template
  • 带有请求内容类型表单的 Http Post 在 Spring MVC 3 中不起作用

    代码片段 RequestMapping method RequestMethod POST headers content type application x www form urlencoded public ModelAndView
  • 捕获量词和量词算术

    首先 我要解释一下 这个问题既不是关于如何捕获组 也不是关于如何使用量词 这是我非常熟悉的正则表达式的两个功能 对于可能熟悉外来引擎中不寻常语法的正则表达式爱好者来说 这更像是一个高级问题 捕获量词 有谁知道正则表达式风格是否允许您捕获量词
  • 如何在 iOS 中实现 XMPP 房间的自动加入

    我想在XMPP群聊中自动加入房间 我从后端服务器创建了所有组 第一次加入房间 但是当我从 XMPP 在应用程序之外 断开连接并返回应用程序内部并重新连接 xmpp 时 我再次需要加入房间 在侧面应用程序中 一名用户已在多个房间中可用 因此无
  • eclipse 中的 java.lang.UnsupportedClassVersionError [重复]

    这个问题在这里已经有答案了 我真的不是一个Java程序员 所以我发布这个问题 在 Eclipse 项目的主类中抛出 java lang UnsupportedClassVersionError 异常 如果我注释掉该类的导入 它就会编译并运行
  • PHP中的Blowfish加密

    我正在为我的应用程序和网站编写加密 但我不知道如何正确加密 php 中的字符串 这段代码已经完成解密 function decrypt blowfish data key iv pack H substr data 0 16 key pac
  • CLGeocoder 反向地理代码位置“kCLErrorDomain 错误 2”

    我正在开发一个具有反向地理编码功能的 iOS 应用程序 当我第一次调用该函数时 一切都很好 第二次调用 使用完成调用的控制器的新实例 后 出现 Domain kCLErrorDomain Code 2 错误 这发生在模拟器和设备上 坐标有效
  • 当 JavaScript 中的数组对象递增时会发生什么?

    一个非常简单的问题 但我无法在任何地方找到答案 检查以下代码 var myArray 0 1 2 3 4 5 6 7 8 9 for i 0 i lt myArray length myArray console log Loop iter
  • 应该将列表添加到字典然后清除它的程序,首先清除它并将随后的空列表附加到字典中?

    class Matrix rowStorer generalPurposeList def init self row column self row row self column column To store away for a l