尽管元组是不可变的,但它们在交互模式下存储在不同的地址中。为什么?

2023-11-26

t = (1,2,3)
t1 = (1,2,3)
print(id(t))
print(id(t1))

上面几行代码在Python中的脚本模式下给出了相同的地址,但在交互模式下它输出了不同的地址。谁能解释一下原因吗?


当编译脚本时,编译器可以搜索所有等效的元组并生成代码以对所有元组使用相同的引用。

但在交互模式下,它需要保留所有元组的缓存,以便它可以搜索先前的等效元组并返回对其的引用,而不是每次都创建一个新元组。交互式解释器不会这样做。

如果将两个变量分配在同一行,则实际上会得到相同的元组。

t = (1, 2, 3); t1 = (1, 2, 3)

这大概是因为它为每个输入运行编译器,因此它可以进行全面的分析和优化。

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

尽管元组是不可变的,但它们在交互模式下存储在不同的地址中。为什么? 的相关文章

  • Python dict 到 DataFrame Pandas - 级别

    几个月前 Romain X 在这个问题上帮了我很多忙 Python 字典到 DataFrame Pandas https stackoverflow com questions 32770359 python dict to datafra
  • 通过另一个指标数据框评估一个数据框

    我有一个源数据框input df PatientID KPI Key1 KPI Key2 KPI Key3 0 1 C602 C603 C601 NaN 1 2 C605 C606 C602 NaN 2 3 75 L239 C602 NaN
  • 如何使用 Julia 查找矩阵中的连通分量

    假设我有以下矩阵 此处用 Julia 语言定义 mat 1 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 将一组值为 1 的相邻元素视为一个 分量 如何识别该矩阵有 2 个分量以及每个分量由哪些顶点组成 对于矩
  • 如何对预测值进行反向移动平均(在 pandas 中,rolling().mean)操作? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个像这样的 df import numpy as np import pandas as pd import matplotlib
  • 将 3d NumPy 数组重塑为 2d NumPy 数组时遇到问题

    我正在研究图像处理问题 我的数据以 3 维 NumPy 数组的形式呈现 其中 x y z 条目是图像 z 的 x y 像素 数值强度值 有 100000 张图像 每张图像为 25x25 因此 数据矩阵的大小为 25x25x10000 我试图
  • 在python中合并3个dict()

    如果多个字典之间有公共字符串 是否有逻辑合并多个字典的方法 即使这些公共字符串在一个 dict 的值与另一个 dict 的键之间匹配 我在 SO 上看到了很多类似的问题 但似乎没有一个问题能解决我将 较低级别文件 中的多个键与较高键 值中的
  • pandas DataFrame:获取上个月缺少交易且无法移位()的值

    有没有办法在不生成虚拟行的情况下实现这一点 这是我的数据源 Group Store Month Revenue Group1 A 201611 10 Group1 A 201612 20 Group1 A 201701 30 Group1
  • Heroku 上的 Django 应用程序在一段时间后删除对象

    我编写了一个简单的 Django 问答论坛应用程序并将其部署在 Heroku 上 该网站的本地版本运行良好 但是 生产版本不会将问题 答案等存储超过几个小时 我决定坚持使用 Django 附带的 sqlite3 我预计该网站不会有太多流量
  • 来自 Pandas DataFrame 的用户定义的 Json 格式

    我有一个 pandas dataFrame 打印 pandas DataFrame 后 结果如下所示 country branch no of employee total salary count DOB count email x a
  • 如何在 Django Admin 中禁用事务?

    I used transaction non atomic requests for 被超越的save in Person model如下所示 store models py from django db import models fro
  • argparse - 禁用相同参数的出现

    我正在尝试使用 argparse 禁用一个命令行中出现相同的参数 python3 argument1 something argument2 argument1 something else 这意味着这应该会引发错误 因为 argument
  • 无法解析 ReferenceProperty -- App Engine

    我遇到了一个错误 无法找出其根本原因 错误如下 ReferenceProperty 无法解析 u StatusLog STATUSLOGSID 此错误仅有时发生 大约一天一次或两次 生成此错误的脚本成功的次数多于失败的次数 该错误最奇怪的事
  • 在 pandas eval 中调用 round()、ceiling()、floor()、min()、max()

    正如标题所说 有没有办法在 pandas eval 中支持 round ceiling min max floor 函数 数据框 import pandas as pd import numexpr as ne op d ID 1 2 3
  • argparse add_argument 别名

    有没有办法使用 argparse 创建别名 例如 我想做这样的事情 parser add argument foo parser add argument alias bar foo 也就是说 使用 bar应该相当于使用 foo 您可以简单
  • python中终止进程的跨平台方法

    当我尝试使用 subprocess Popen terminate 或 Kill 命令终止 Windows 中的进程时 出现访问被拒绝错误 如果文件不再存在 我真的需要一种跨平台的方式来终止进程 是的 我知道这不是做我正在做的事情的最优雅的
  • Pygame 旋转射击

    我和几个朋友一直在编写一种有趣的新射击机制 为了让它发挥作用 我们需要朝玩家面对的方向射击 Sprite 正在使用 Pygame Transform Rotate 进行旋转 我们怎样才能找到一个角度 然后朝那个方向发射子弹呢 这是我们的精灵
  • Django populate() 不可重入

    当我尝试在生产环境中加载 Django 应用程序时 我不断收到此消息 我尝试了所有的 stackoverflow 答案 但没有任何解决办法 任何其他想法 我使用的是 Django 1 5 2 和 Apache Traceback most
  • 函数调用中的星号[重复]

    这个问题在这里已经有答案了 我正在使用 itertools chain 以这种方式 展平 列表列表 uniqueCrossTabs list itertools chain uniqueCrossTabs 这与说有什么不同 uniqueCr
  • 计算列表中的子列表

    L 2 4 5 6 2 1 6 6 3 2 4 5 3 4 5 我想知道任意子序列出现了多少次 s 2 4 5 例如会返回2次 I tried L count s 但它不起作用 因为我认为它期望寻找类似的东西 random numbers
  • 使用 Python PuLP 混合整数规划的时间限制

    我一直在使用PuLP http pythonhosted org PuLP 解决我感兴趣的特定混合整数线性规划 MIP 但是 随着问题规模的增长 PuLP 花费的时间太长 我希望能够运行求解器一段时间 并在需要很长时间的情况下提前终止它 并

随机推荐

  • 如果数据是通过Javascript加载的,如何使用php Goutte和Guzzle进行爬行?

    很多时候 当爬行时 我们会遇到这样的问题 页面上呈现的内容是用 Javascript 生成的 因此 scrapy 无法爬行它 例如 ajax 请求 jQuery 你想看看 phantomjs 有这个 php 实现 http jonnnnyw
  • 计算大型矩阵特征值的最快方法

    到目前为止 我使用 numpy linalg eigvals 来计算至少有 1000 行 列的二次矩阵的特征值 并且在大多数情况下 大约五分之一的条目非零 我不知道这是否应该被视为稀疏矩阵 我找到了另一个topic表明 scipy 可能可以
  • 具有多个点的地图意图

    我正在尝试向 Google 地图发送意图 以显示多个点之间的行车路线 我正在使用列出的方法here但它似乎运作得不太好 该应用程序的最终功能是动态创建地图的网址 但为了测试 我创建了一个带有一堆随机点的静态网址 我的确切代码是 String
  • shell脚本函数返回一个字符串

    我是 shell 脚本的新手 我正在尝试创建一个简单的函数 它将返回作为参数传递的连接的两个字符串 我尝试使用下面的代码 function getConcatenatedString echo String1 1 echo String2
  • linux 中的 ruby​​:永久“source .rvm/scripts/rvm”?

    我是 Ruby on Rails 的新手 刚刚按照我找到的说明在 Ubuntu Linux 中进行了设置here 具体来说 作为s m 说 我卸载了所有内容 然后我以普通用户身份打开了另一个终端会话并运行 bash s 稳定 https r
  • 大多数视频未从 YouTube 获取 VideoUrl

    我在用 https www youtube com get video info 获取视频信息 缩略图 视频URL 要在自定义视频播放器中播放视频 但当单击 vevo 频道 视频时 它不返回任何视频 URL 我还尝试了 get video
  • Javascript 中可以实现 OOP 吗?

    我最近发现Javascript函数可以有类 所以我想知道OOP是否也可以通过javascript实现 是吗 如果是 您能否指出一些教程或网站 我可以从哪里开始 OOP绝对是可能的 虽然 Javascript 不像大多数面向对象语言那样具有
  • 线程错误:尝试释放挂起的线程时句柄无效 (6)

    在给定的示例中 我在调用时收到异常AThread Free program Project44 APPTYPE CONSOLE uses SysUtils Classes Windows type TMyException class Ex
  • 使容器在包裹子元素时收缩以适合它们

    我试图弄清楚 Flexbox 如何工作 应该工作 对于如下情况 holder width 500px background lightgray display flex flex direction row justify content
  • numpy.savetxt 可以用于 N>2 的 N 维 ndarray 吗?

    我正在尝试使用 numpy savetxt 将 4D numpy float 数组输出到纯文本文件 然而 numpy 给出一个错误 说当我尝试传递这个数组时需要一个 float 参数 尽管如此 numpy 文档指定要传递的参数应该只是像数组
  • SVN 到 Clearcase 导出

    我有一位客户非常坚持使用 Clearcase 是否有任何工具 脚本可以让我的团队针对 SVN 存储库 或者实际上anything除了 Clearcase 之外 但会定期自动将变更集同步回 Clearcase VOB 我的想法是 如果存在这样
  • 将 python 中的嵌套列表中的每个元素从 string 转换为 int [重复]

    这个问题在这里已经有答案了 我有带有嵌套列表的 python 数据 其中一部分如下所示 data 214 205 0 14 710 1813494849 0 214 204 0 30 710 1813494856 0 214 204 0 3
  • 如何从 ast.FunctionDef 节点创建函数对象?

    我试图了解 python 代码的执行过程 假设源有一个函数定义 使用ast parse 我将其解析为一个 ast 其中将包含一个实例FunctionDef节点类 该节点实例不是可调用的 并且与函数对象不同 如何从这个 ast 创建函数对象及
  • Linq 异常:只能从 linq to 实体调用函数

    我有一个StudentReceipts存储的表ReceiptNo as string 001 002 003 099 我想要获取最后一张收据的详细信息 以便增加下一笔交易的收据编号 这是我尝试过的 var lastGeneratedRecD
  • 将html表导出到Excel javascript函数特殊字符已更改

    我有以下将 html 导出到 Excel 的函数 function generateexcel tableid var table document getElementById tableid var html table outerHT
  • 删除 Github 中的自定义域

    我想从 Github 中删除自定义域 请提供任何帮助 其实我想得到https myaseen208 github io DialelAnalysisR 而不是http www myaseen208 com DialelAnalysisR 如
  • 亿级记录批量插入

    将 2 37 亿条记录插入具有规则 用于跨子表分配数据 的表中的最快方法是什么 我曾经尝试过或考虑过 插入语句 事务性插入 BEGIN and COMMIT The COPY FROM命令 http pgbulkload projects
  • HTML5 CANVAS 绘制图像

    这是我的问题 我有点不明白下面函数中的 sx 和 sy 是什么意思 context drawImage 图像 sx sy sw sh dx dy dw dh 我真正的意思是 如果我们改变 sx 和 sy 的值 并将 dx 和 dy 设置为固
  • 从 HttpServletRequest 对象获取发布的 XML

    我有一个接收 HttpServletRequest 的过滤器 该请求是一个 POST 其中包含一个我需要读入过滤器方法的 xml 从 HttpServletRequest 对象获取发布的 xml 的最佳方法是什么 这取决于客户如何发送它 如
  • 尽管元组是不可变的,但它们在交互模式下存储在不同的地址中。为什么?

    t 1 2 3 t1 1 2 3 print id t print id t1 上面几行代码在Python中的脚本模式下给出了相同的地址 但在交互模式下它输出了不同的地址 谁能解释一下原因吗 当编译脚本时 编译器可以搜索所有等效的元组并生成