python元组列表里追加元素_Python元祖 tuple 内部列表添加元素相关

2023-11-11

面试python遇到的一道数据类型基础题

我们都知道python中不可变类型有tuple,但是如果tuple里面的列表增加元素会怎么样呢?

先看代码:

a = (1,2,3,[4,5])

print(a[3]) # [4, 5]

a[3].append(6)

print(a) # (1, 2, 3, [4, 5, 6])

a[3] += [9]

"""Traceback (most recent call last):

File "", line 1, in

TypeError: 'tuple' object does not support item assignment

"""

print(a) # (1, 2, 3, [4, 5, 6, 9])

a[3] = a[3] + [10]

"""Traceback (most recent call last):

File "", line 1, in

TypeError: 'tuple' object does not support item assignment

"""

print(a) # (1, 2, 3, [4, 5, 6, 9])

我们发现:

(1)当元祖a里面有列表[4,5],我们进行a[3].append(6)操作时,成功添加"6"没任何问题.

(2)当我们使用 += 的时候a[3] += [9],就报错了,但是最后还是成功添加进去了

(3)然后我们使用 a[3] = a[3] + [10]的时候,发现也报错但是并没有加进去

其实报错的原因是因为赋值=的时候,我们不能修改元祖的元素地址(这也是元祖不可变的原因),

我们可以修改元祖的可变元素(比如列表)的值,但是不能修改地址,所以不能用赋值符号

而修改值的操作比如extend(),append(),remove()是在原有内存区间修改值,以及比较特殊的+=是先进行值的修改再赋值,所以在原有的基础上增加成功,但是赋值操作失败报错了,也就是为啥还能修改成功的原因

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

python元组列表里追加元素_Python元祖 tuple 内部列表添加元素相关 的相关文章

  • C到C++的升级

    前言 C到C 的升级 是一次很有利的升级 他从一个面向过程的语言走向了一个面向对象的语言 他是对C很多的优化 解决了C中存在的许多不合适的地方 他的两个加号 一个是增加了新的类型 一个是增加了面向对象 他是对效率的一种提升 C当时的设计主要
  • 如何进行性能分析

    一 性能分析的常用手段 1 空间换时间 利用内存缓存从磁盘上取出的数据 CPU可以直接访问内存 从而比从磁盘读取数据更高的效率 2 时间换空间 当空间成为瓶颈的时候 切开数据分批次处理 用更少空间完成任务的处理 3 分而治之 把任务切分 分
  • C++ 中的sort()排序函数原理、用法看这一篇就够了

    C 中的sort 排序函数原理 用法用法看这一篇就够了 sort first pointer first pointer n cmp 该函数可以给数组 或者链表list 向量排序 原理 sort并不是简单的快速排序 它对快速排序进行了优化
  • CT2A

    1 CString转为char char szAsciiIP 64 memcpy szAsciiIP CT2A m pEncoder gt m strIP sizeof szAsciiIP 2 详见MSDN http msdn micros
  • 异地远程访问本地SQL Server数据库【无公网IP内网穿透】

    iOS开发上架主页 在强者的眼中 没有最好 只有更好 我们是移动开发领域的优质创作者 同时也是阿里云专家博主 关注我们的主页 探索iOS开发的无限可能 我们与您分享最新的技术洞察和实战经验 助您在移动应用开发领域取得成功 欢迎访问我们的微信
  • CheckReturn(检查返回值)

    Loki库提供了一种方法 要求函数返回后 使用者必须对其进行检查或则赋值 以必须判断指针为例进行说明 自己写的代码简化了很多 CheckReturn h pragma once include
  • TSubclassOf

    在蓝图或C 层面调用SpawnActor创建一个actor对象 或者调用SpawnActorDeferred 延迟创建一个actor对象时 都需要一个class类型的参数 如果在C 层面 对象类型是我们自己在蓝图里做的蓝图类 那么C 层面需
  • 【智能优化算法】基于败者淘汰机制的烟花算法LOTFWA求解单目标烟花优化问题附matlab代码...

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 matlab项目合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 内容介绍 作为一种新兴的群体智能优化算法 烟花算法通过模拟烟花在空中爆炸产生火花的过程来进行最
  • 软件工程作业四

    2 用面向数据流的方法设计下列系统的软件结构 1 储蓄系统 参见习题2第2题
  • webpack学习4:热模替换、devtool、准备生产环境、清除打包文件目录

    热模替换功能 之前的webpack dev server是全部刷新 热模替换是局部刷新 详细配置见官网 指南 gt 模块热替换 修改devServer配置devServer contentBase resolve dirname build
  • Solr 实体嵌套

    公司主要测业务是 城市档案馆建设 一份案卷包含一个或多个业务实现 现在需要solr 索引库能够已经相关业务事项的 证号 单位 来进行相关功能检索 相关功能业务实现 以案卷为主表嵌套其他业务事项表 在solr的 data config xml
  • jmeter用循环控制器和计数器,直接查询数据库获取数据作为后续接口的参数

    一 导入mysql驱动jar包 二 添加线程组 jdbc配置文件 三 添加jdbc请求 设置参数变量 四 添加循环控制器 然后在其中加入计数器如下 五 用函数助手生成 V buyer code M 和 V buyer shortname N
  • 蓝桥杯JAVA B组 2022第四题 最少刷题数

    一 题目描述 二 思路分析 1 对输入的刷题数进行排序 2 分情况考虑 奇数情况下 超过中间值才能满足全班刷题比他多的学生数不超过刷题比他少的学生数 偶数情况下需要等于中间偏大的值就可以满足条件 三 代码 import java util
  • 西门子s300编程实例_plc西门子s300编程 西门子编程1000例

    西门子PLCS 200与S300 400系列编程电缆可以同意吗 西门子PLC S 200与S300 400系列编程电缆 如果是USB原装的 可以通用 价格2000元左右 西门子PLC S 200编程线型号PC PPI或者USB PPI 山寨
  • React 窗口防抖

    假如有这种需求 浏览器的窗口不断缩小变大 此时页面的布局不会自动刷新 需要手动刷新页面才会自适应大小 此时我们立马就会想到使用windows的onresize方法 window onresize gt 重新渲染画面 root render
  • 一起学nRF51xx 22 -  实现一个具体SVC调用功能的demo

    前言 上一节 一起学nRF51xx 21 蓝牙项目工程的初始化流程解读 讲到nordic的蓝牙协议栈是通过SVC来实现APP与协议栈之间通接口调用的 那么如何来实现一个具体SVC调用功能的程序呢 本节将带大家解决这个问题 示例详解 基于硬件
  • 【Python实战】数据预处理(数据清理、集成、变换、归约)

    Python实战 数据预处理 前言 数据预处理概述 数据清理 异常数据处理 1 异常数据分析 2 异常数据处理方法 缺失值处理 噪声数据处理 数据集成 1 实体识别 2 冗余属性 3 数据不一致 数据变换 1 使用简单的数学函数对数据进行变
  • 可验证延迟函数(VDF)

    干货 可验证延迟函数 VDF 自从以太坊将可验证延迟函数 Verifiable Delay Function VDF 列入研究计划并打算在以太坊 2 0 使用之后 VDF 得到了广泛的关注 VDF 这个概念最初由斯坦福大学密码学教授 Dan
  • osgEarth的Rex引擎原理分析(二十)osgEarth::TerrainEngineNode中setMap方法作用

    目标 十二 中的问题12 不同于派生类RexTerrainEngineNode中setMap的内容 详见 十二 在RexTerrainEngineNode执行setMap时会首先调用TerrainEngineNode的setMap 这里主要

随机推荐

  • NCRE网络技术知识点

    备考NCRE的三级网络技术 主要以刷题为主 考试大部分是题库中的原题 刷题的过程也要主要总结和复习 因为题库有很多重复的题目 重复的知识点 但是考试的时候记忆不清晰的话很容易重复犯错 弹性分组环 RPR 中每一个节点都执行SRP公平算法 与
  • CC攻击是怎么查看和预防的,云服务器有没有办法防止CC攻击

    网站被CC攻击后会出现访问速度很慢 影响用户体验 被搜索引擎K站 排名消失 那么 怎么排查自己被CC了呢 所谓的CC攻击 就是攻击者借助代理服务器生成指向受害主机的合法请求 从而实现DDOS和伪装 1 如果网站是动态网站 比如asp asp
  • Flask实现用户登录注册(附前后端源码)

    效果展示 登录 注册 主页面 项目结构 项目结构如下 项目采用蓝图进行视图函数的管理 每个功能被放在一个小的app中 登录和注册功能放在了app login文件夹中 后端Python代码 app login中的 init py创建了一个蓝图
  • Ubuntu20安装gcc11

    Ubuntu20默认情况下没有安装gcc和g 等工具 最近学习C 20的协程编程 需要将g cc 直接升级到11 下面介绍下方法 首先 添加安装源 sudo add apt repository y ppa ubuntu toolchain
  • C语言学习笔记(六)

    1 C语言关键字 C语言的32个基本关键字 c语言关键字 鵛的博客 CSDN博客 2 注意 define不是关键字 define是编译器的预编译指令 是编译器实现的 不是C语言的内容
  • CentOS安装TexLive2023

    这里写自定义目录标题 下载 wget https mirrors tuna tsinghua edu cn CTAN systems texlive Images texline 版本 iso wget https mirrors tuna
  • 虚函数与虚函数表详解

    虚函数的定义要遵循以下重要规则 1 如果虚函数在基类与派生类中出现 仅仅是名字相同 而形式参数不同 或者是返回类型不同 那么即使加上了virtual关键字 也是不会进行滞后联编的 2 只有类的成员函数才能说明为虚函数 因为虚函数仅适合用与有
  • Android studio 启动指定的activity

    Android studio的强大就不用多说了 今天说一下studio怎么启动到指定的Activity 场景 有如下5个Activity MainActivity Activity2 Activity3 Activity4 Activity
  • 体验一个全新的RTOS-QNX系统功能介绍

    锋影 e mail 174176320 qq com QNX的简单的介绍 这个我就很惭愧的引用一下官方的一些说法 QNX Quick Unix Unix AT T QNX 实时操作系统是由加拿大著名的QNX SOFTWARE SYSTEMS
  • PL/SQL程序设计_基本语法

    DECLARE V DATE DATE SYSDATE v var VARCHAR2 20 V VALID BOOLEAN BEGIN IF V VAR IS NULL THEN DBMS OUTPUT PUT LINE V VAR IS
  • H264(NAL简介与I帧判断)

    1 NAL全称Network Abstract Layer 即网络抽象层 在H 264 AVC视频编码标准中 整个系统框架被分为了两个层面 视频编码层面 VCL 和网络抽象层面 NAL 其中 前者负责有效表示视频数据的内容 而后者则负责格式
  • 使用 JS 和GitHub Actions实现哔哩哔哩每日自动签到、投币、领取奖励

    使用 Axios 和GitHub Actions实现哔哩哔哩每日自动签到 投币 领取奖励 SCHEDULE BILIBILI 是一个B站自动执行任务的工具 使用 JS AXIOS 编写 通过它可以实现B站帐号的每日自动观看 分享 投币视频
  • Jetson Nano安装pytorch 基于torch1.6和torchvision0.7

    需要注意的是 博主使用的是win10主机 通过局域网连接的jetson nano 其中jetson nano的预制CUDA版本为10 2 Jetpack 4 1 1 分别执行以下命令 即可查看自己的jetson nano 预搭载的CUDA版
  • NLP系列(2)_用朴素贝叶斯进行文本分类(上)

    作者 寒小阳 龙心尘 时间 2016年1月 出处 http blog csdn net longxinchen ml article details 50597149 http blog csdn net han xiaoyang arti
  • 【OpenMMLab实践】01MMSegmentation官方教程实现过程记录(mmcv,mmsegmentation,torch)

    本文主要根据mmsegmentation的官方教程 教程链接在这里 并且看了b站的视频 一步步实现代码中的demo教程 主要包含以下两方面的功能 通过MMSeg加载预训练好的权重 输入单张图片 实现分割 并可视化分割图 自定义数据集 修改配
  • 注意力&Transformer

    注意力 注意力分为两步 计算注意力分布 alpha 其实就是 打分函数进行打分 然后softmax进行归一化 根据 alpha 来计算输入信息的加权平均 软注意力 其选择
  • nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping:

    原因是使用idea快捷键时 添加的注释为 注释里面我写了另外一条SQL 但是mybatis执行时仍然把里面的 routeId 执行了 导致报错 参数异常 需要参数两个 实际传参才只有一个 注意xml中的注释要使用 上图
  • 终于刷进去了联想官方固件

    联想官方社区 第四步 设置检验所有校验和 解决 tool dl image fail 若解决线刷时出现BROM ERROR S COM PORT OPEN FAIL 1013 教程 找不到端口 多试试吧 重启电脑 重换插口 重装驱动 注意
  • 基于netty游戏服后台搭建

    项目要转游戏开发了 所以搭个游戏服 游戏一般是长连接 自定义协议 不用http协议 BIO NIO AIO这些我就不说了 自己查资料 我现在用spring netty搭起简单的游戏服 思路 1自定义协议和协议包 2spring netty整
  • python元组列表里追加元素_Python元祖 tuple 内部列表添加元素相关

    面试python遇到的一道数据类型基础题 我们都知道python中不可变类型有tuple 但是如果tuple里面的列表增加元素会怎么样呢 先看代码 a 1 2 3 4 5 print a 3 4 5 a 3 append 6 print a