为什么我不能在 python 的 for 循环中重新分配变量? [复制]

2024-04-24

今天我发现一个有趣的事实,我无法在“for 循环”中重新分配变量,但为什么呢?

这是我的代码:

>>> my_list = [1,2,3,4,5]
>>> for i in my_list:
>>>     if i > 3:
>>>        i = 'my_value'
>>> my_list
[1, 2, 3, 4, 5]

当您循环遍历列表时for i in my_list, i每次迭代时不绑定到列表单元格。它绑定到列表单元格引用的对象。分配一个新值i binds i到一个新对象,但之间没有链接i以及会导致列表单元格受到影响的列表。

循环列表的等效方法是

for index in range(len(my_list)):
    i = my_list[index]
    whatever_loop_body()

希望这个表述能更清楚地表明i不是列表单元格的别名。 (实际上不要循环这样的列表。)

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

为什么我不能在 python 的 for 循环中重新分配变量? [复制] 的相关文章

  • 如何在Python中使用tcp套接字发送和接收网络摄像头流?

    我正在尝试重新创建这个项目 https github com hamuchiwa AutoRCCar 我拥有的是服务器 我的电脑 和客户端 我的树莓派 我所做的与原始项目不同的是我尝试使用一个简单的网络摄像头而不是树莓派摄像头将图像从我的
  • 比较 TCP 校验和与 Scapy?

    我试图在使用 Scapy 作为嗅探器时识别校验和不正确的数据包 我可以通过访问获得原始校验和 packet TCP chksum 然后我使用删除它 del packet TCP chksum 我想做类似的事情 if originalChec
  • 字符串的“相关矩阵”。名义数据的相似度

    这是我的数据框 df store 1 store 2 store 3 store 4 0 banana banana plum banana 1 orange tangerine pear orange 2 apple pear melon
  • 如何在Python中每次运行脚本时增加变量?

    我有一个 Python 脚本 我想在每次运行时增加一个全局变量 这可能吗 使用外部文件很容易做到这一点 您可以创建一个函数来为您执行此操作 这样您就可以根据需要将多个文件用于多个变量 尽管在这种情况下您可能想要研究某种序列化并将所有内容存储
  • Pytorch“展开”等价于 Tensorflow [重复]

    这个问题在这里已经有答案了 假设我有大小为 50 50 的灰度图像 在本例中批量大小为 2 并且我使用 Pytorch Unfold 函数 如下所示 import numpy as np from torch import nn from
  • 将 unique_ptr 与 boost python 结合使用 - boost::shared_ptr 有效,但 unique_ptr 无效

    这可能与以下问题相同 Boost Python 没有 to python for std unique ptr https stackoverflow com questions 20590205 boost python no to py
  • 抓取多个帐户,即多次登录

    我可以成功抓取单个帐户的数据 我想在一个网站上抓取多个帐户 这意味着多次登录 如何管理登录 注销 您可以在每个帐户会话中使用多个 cookiejar 并行抓取多个帐户 请参阅 cookiejar 请求元密钥http doc scrapy o
  • 冻结(.exe)一个traitsUI程序,现实可行吗?

    我正在尝试使用 cx freeze 或 pyInstaller 冻结一个 TraitsUI 程序 该程序利用 Chaco Traits TraitsUI 以及较小程度的 mayavi 实际上可以取出 我需要它在 mac linux ubun
  • 使用多索引列对多列求和

    我有一个从数据透视表创建的数据框 看起来类似于 import pandas as pd d company1 False Negative April 2012 112 0 April 2013 370 0 April 2014 499 0
  • Python:从字符串访问变量[重复]

    这个问题在这里已经有答案了 这可能是非常基本和简单的事情 我可能只是在谷歌上搜索错误的术语 但希望这里有人可以帮助我 我仍然是编程的初学者 这从这个问题中可能是显而易见的 我正在寻找一种从字符串访问变量的方法 像这样 A1 B1 C1 my
  • 使用 Python 3.7+ 中的 wfastcgi 以及 Numpy、Pandas 等在 IIS 上部署 Python Flask 应用程序

    使用 wfastcgi 在 IIS 上部署 python 3 7 Flask 或 Dash 应用程序时 有许多很棒的教程可以让 hello work 程序正常运行 例如 https medium com bilalbayasut deplo
  • matplotlib 轴标签偏移量的因素和变化

    在 matplotlib 中的轴刻度标签上 有两种可能的偏移量 factors and shifts 在右下角 1e 8 是一个 因子 1 441249698e1 是一个 移位 这里有很多答案展示了如何操纵两个都 matplotlib 将轴
  • TensorFlow - 为什么这个 softmax 回归没有学到任何东西?

    我的目标是用 TensorFlow 做大事 但我正在尝试从小事做起 我有一些小的灰度方块 有一点噪音 我想根据它们的颜色对它们进行分类 例如 3 个类别 黑色 灰色 白色 我编写了一个小 Python 类来生成正方形和 1 hot 向量 并
  • 如何用不同的颜色填充seaborn.distplot中的区域

    是否可以用颜色填充两条阈值线 line1 和 line2 之外的区域 并通过 distplot 绘制的 KDE 曲线限制 Y 轴 代表我的应用程序的 3 sigmas import pylab as pl import seaborn as
  • 捕获 CommandOnCooldown 错误

    我正在制作一个有冷却时间的不和谐机器人 并且我正在尝试制作一个事件 当CommandOnCooldown发生错误时 机器人会通过私信告诉他们需要等待多长时间 这是我的代码 看起来一切正常 但它不知道 retry after 意味着什么 bo
  • 在 python 中将数组作为参数传递

    我是Python新手 现在我需要声明大小为 20 的数组并将该数组传递给函数 需要数组的函数如下 function args The args是一个输入function 谁能帮我 如何在 python 中传递数组 当你说 数组 时 我假设你
  • 如何使用 np.newaxis?

    What is numpy newaxis https numpy org doc stable reference constants html numpy newaxis我什么时候应该使用它 在一维数组上使用它x产生 gt gt gt
  • Python二进制数据读取

    urllib2 请求接收二进制响应 如下所示 00 00 00 01 00 04 41 4D 54 44 00 00 00 00 02 41 97 33 33 41 99 5C 29 41 90 3D 71 41 91 D7 0A 47 0
  • Python 装饰器只是语法糖? [复制]

    这个问题在这里已经有答案了 可能的重复 了解 Python 装饰器 https stackoverflow com questions 739654 understanding python decorators 我对使用 Python 装
  • 将 sudo 与 Python 脚本结合使用

    我正在尝试编写一个小脚本来在每次执行脚本时安装 VirtualBox 共享文件夹 我想用Python 来做这件事 因为我正在尝试学习它来编写脚本 问题是我需要特权才能启动挂载命令 我可以将脚本作为 sudo 运行 但我更喜欢它自己创建 su

随机推荐

  • ValueError:输入包含 nan 值 - 来自 lmfit 模型,尽管输入不包含 NaN

    我正在尝试使用 lmfit 构建模型 链接到文档 https lmfit github io lmfit py model html the model class我似乎不明白为什么我总是得到一个ValueError The input c
  • Dagger 2 - 如何创建/提供 EagerSingleton

    我在使用 Dagger 2 依赖注入框架时遇到问题 我想创建一个渴望单例 我假设当我使用 dagger 2 时会创建延迟加载的单例 Singleton注解 我如何创建渴望单例使用 Dagger 2 框架 我通过创建一个解决了这个问题Eage
  • 在 Internet Explorer 中重定向时保留 URL 片段

    我目前面临单页应用程序中 URL 片段的挑战 登录时 用户将通过 Struts 重定向到包含 URL 片段 哈希 锚点部分的 url
  • 在不同长度的数组中查找相同的日期时间

    考虑以下儒略日期数组 Jday1 datenum 2011 01 01 00 00 yyyy mm dd HH MM 60 60 24 datenum 2011 12 31 23 00 yyyy mm dd HH MM Jday2 date
  • 如何平移 UIImageView 内的图像?

    我有一个UIImageView显示比实际图像更宽和更高的图像UIImageView是 我想使用动画在视图中平移图像 以便平移漂亮且平滑 在我看来 我应该能够调整bounds origin of the UIImageView 并且图像应该移
  • 如何在ubuntu 12.0中更新openerp 7中的新模块? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 完成 在 ubuntu 12 0 中更新 openerp 7 中的新模块的所有可能方法 还有其他方法可以更新 ubuntu 12 0 中
  • 如何在flutter中解析json?

    我想创建一个新闻应用程序 并且我使用 newsapi org 作为来源 我正在尝试获取来自 Http 库的 JSON 数据 我在下面提供了完整的代码 它没有给我任何错误 但没有加载数据 当我打印数据时 它打印一切正常 但我无法显示它 我不知
  • 如何在 QML 中使用 Font Awesome

    有谁知道如何在 QML 中使用 Font Awesome 吗 我找不到任何文档或任何信息如何在 QML 中使用 Font Awesome 我喜欢做的是使用fontello http fontello com 创建最小的图标集 而不是从 Fo
  • 在 UIWebView 中更改用户代理

    我的业务需要能够为嵌入式 UIWebView 自定义 UserAgent 例如 如果用户使用应用程序的一个版本与另一个版本 我希望服务器做出不同的响应 是否可以像 Windows 应用程序中的嵌入式 IE 浏览器那样在现有 UIWebVie
  • 查找多模块 Maven Reactor 项目的根目录

    有没有一种简单的方法可以找到多模块 Maven 项目的根 例如 Gradle 的rootDir 背景 我想使用 maven dependency plugin 将多模块项目的所有子模块中的工件复制到相对于整个项目的根目录的目录 也就是说 我
  • 如何在 XAML 上设置 ResourceDictionary FontSize?

    如果这会是一件混乱的事情 我深表歉意 我对 Xamarin 还很陌生 目前我正在尝试将此资源字典代码转换为 XAML Current Resources new ResourceDictionary FontResources Defaul
  • 设计 EAP-TLS 客户端问候消息

    我正在尝试设计第一个启动 EAP TLS 握手的数据包 这是我的数据包目前的样子 我通过用相应的信息手动填充 C 中的缓冲区来设计 EAP 部分 我使用 OpenSSL 导出的 TLS 部分如图所示在这个问题中 https stackove
  • 如何在 MS Access 表单上动态保持控件居中(相对位置)?

    我正在使用 Access 2013 并且有许多控件 列表框 按钮等 当调整表单大小时 我希望它们作为一个组在表单上保持居中 锚定无法实现我正在寻找的目标 因为我不想将控件锁定到顶部 底部 左侧 右侧 我希望他们留在中心 只需使用这样的代码m
  • 在 C++ 中清除控制台

    我正在尝试清除 C 中的控制台 我知道打印多个换行符是一种不好的做法 因为它可能很慢 并且完全清除控制台窗口并不总是可靠的 但我研究了多种选项 除了发现几乎没有其他解决方案system cls 这是一个更糟糕的选择 本质上 我用过这条线co
  • 输入:页面加载时应用了无效的 css 规则

    在 Firefox 或 Chrome 中查看这两个 fiddle 在this http jsfiddle net hezgkxoh 2 一 我只有一个简单的表格required属性和一个submit按钮 当框为空时按 提交 会导致其样式为i
  • 参数化方法调用什么时候有用?

    Java 方法调用可以像下面的代码一样进行参数化 class Test
  • 典型的按键持续时间是多少

    我正在固件项目中做一些关于按键处理的工作 我一直在谷歌上搜索 试图找出按键的典型持续时间是多少 特别是快速打字员的最短持续时间 令人惊讶的是我在任何地方都找不到任何相关数据 最近有一些关于按键时序的研究已经发表 这里有两个 http www
  • 如何在 .NET 中可靠地获取图像尺寸而不加载图像?

    我知道如何获取图像的大小 x y Image FromFile cat jpg Size 但这需要从内存中加载图像 当我在 Windows 资源管理器中查看图像时 它会显示尺寸 我如何访问该大小 它对所有图像都可靠吗 Windows 资源管
  • 什么日历似乎是从 1800 年 12 月 28 日开始计算天数的?

    我的任务是从一些奇怪的旧系统中读取一些数据 该系统包含许多日期 但它们的格式都很奇怪 它们是整数 范围约为55 000 to 80 000 我确定有两个日期 58 112 equals February 5 1960 originally
  • 为什么我不能在 python 的 for 循环中重新分配变量? [复制]

    这个问题在这里已经有答案了 今天我发现一个有趣的事实 我无法在 for 循环 中重新分配变量 但为什么呢 这是我的代码 gt gt gt my list 1 2 3 4 5 gt gt gt for i in my list gt gt g