Python的元组被设计成不可变的影响

实际上元组是跟列表非常相近的另一种容器类型,元组和列表看起来不同的一点是元组用的是圆括号而列表用的是方括号。而功能上,元组和列表相比有一个很重要的区别,元组是一种不可变类型。正是因为这个原因元组能做一些列表不能做的事情……用做一个字典的Key。另外当处理一组对象时,这个组默认就是元组类型

不可变性给元组带来了什么影响:

在3个标准不可变类型里面—–数字、字符串、元组——元组是受影响最大的,一个数据类型是不可变的,简单来讲,就意味着一旦一个对象被定义了,它的值就不能再被更新,除非重新创建一个新的对象。对数字和字符串影响不是很大,因为它们是标量类型,当它们代表的值改变时,这种结果是有意义的,是按照你所想要的方式进行访问的。而对于元组,事情就不是这样了。
因为元组是容器对象,很多时候你想改变的只是这个容器中的一个或者多个元素。不幸的是这是不可能的,切片操作符不能用作左值进行赋值。这和字符串没什么不同,切片操作只能用于只读的操作。
不可变并不是坏事,比如我们把数据传给一个不了解的API时,可以确保我们的数据不会被修改。同样地,如果我们操作一个从函数返回的元组,可以通过内建List()函数把它转换成一个列表。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/570746.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JS将数字转换为中文

<!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>JS将数字转换为中文</title> </head> <body> <script>// 定义转换函数function transform(tranvalue){try{var i1;var dw2 new Array("&quo…

IE上ORACLE OEM 证书错误 , 导航阻止,无法”继续浏览此网站”

文章转载自&#xff1a;http://blog.51cto.com/cswggod/1193266 仅用于个人学习&#xff0c;知识收藏 本文是我安装ORACLE11g后客户端IE访问不了是出现的&#xff0c;无奈下找OTN上help&#xff0c; 结果很lucky的被解脱了。 网站是&#xff1a;https://forums.oracle.com/for…

testng使用DataProvider+Excel实现DDT

DDT&#xff0c;即数据驱动测试 Data Driver Test&#xff0c;我曾经记录了一篇关于python的DDT框架&#xff08;ExcelDDT数据驱动实例&#xff09;&#xff0c;那么java中的DDT是怎么样的呢&#xff1f;在java中&#xff0c;可以用testng的DataProvider和Excel实现。 首先建一…

Linux安装Oracle12C 过程及遇到的问题

一、环境介绍 1、系统环境&#xff1a;CentOS7.1 Oracle版本&#xff1a;12C 12.1.0 二、安装过程 1、安装过程文档见百度云上的文档 链接&#xff1a;https://pan.baidu.com/s/1nvd07NF 密码&#xff1a;mey9 2、安装完后登录数据库 su oracle source ~/.bash_profiel…

sqlserver服务启动后停止,传递给数据库 'master' 中的日志扫描操作的日志扫描号无效...

电脑异常重启&#xff0c;导致SqlServer服务启动后&#xff0c;自动停止&#xff0c;在【计算机管理】-【事件查看器】-【windows日志】中进行查看系统错误日志&#xff0c;在【应用程序】下发现可能的错误信息有以下两条&#xff1a; 1、错误&#xff1a;传递给数据库 master …

云监控 Ganglia 安装步骤 (含python module)

文章转载自&#xff1a;https://my.oschina.net/duangr/blog/181585 &#xff0c;仅用于个人学习、收藏&#xff0c;转载请注明原作者地址。 前言 最近在研究云监控的相关工具,感觉ganglia颇有亮点,能从一个集群整体的角度来展现数据. 但是安装过程稍过复杂,相关依赖稍多…

container-with-most-water(最大蓄水问题)

题目描述&#xff1a; Given n non-negative integers a1 , a2 , ..., an , where each represents a point at coordinate (i, ai ). n vertical lines are drawn such that the two endpoints of line i is at (i, ai ) and (i, 0). Find two lines, which together with x-a…

使用sqoop从Oracle或mysql抽取数据到HDFS遇到的报错及解决

一、参考文档&#xff1a; 1、https://www.rittmanmead.com/blog/2014/03/using-sqoop-for-loading-oracle-data-into-hadoop-on-the-bigdatalite-vm/ 2、http://www.cnblogs.com/bjtu-leefon/archive/2013/06/28/3160549.html 二、使用脚本 ----sqoop import zdsd 使用注…

POJ1426-Find The Multiple(DFS)

给出一个整数n&#xff0c;(1 < n < 200)。求出任意一个它的倍数m&#xff0c;要求m必须只由十进制的0或1组成。 #include <iostream>using namespace std;int N,flag;void DFS(int m,long long n) {if(m19) return;if(flag) return;if(n%N0){flag1;cout<<n&…

Spark集群,多个版本Python/Python Package管理

文章转载自&#xff1a;http://blog.csdn.net/gongbi917/article/details/52369025 仅用于个人学习备忘收藏&#xff0c;转载请注明原文地址 进年来&#xff0c;越来越多的数据科学家、分析人员、数据工程师运用Python语言进行数据分析和机器学习。Spark在0.7版本开始支持Pyth…

【网络流24题】【LOJ6224】深海机器人问题(最大费用最大流)

problem 给定一个n*m的网格&#xff0c;每条边上有一个权值给定每个机器人的出发位置和目标位置求权值最大solution 拆边&#xff0c;每条边拆成2条&#xff0c;第一条容量1&#xff0c;费用c[i]&#xff0c;第二条容量inf,费用0&#xff1b;建超级源汇&#xff08;s到每个出发…

Oracle创建表空间、用户、分配权限、导出、导入数据

文章转载&#xff1a;https://segmentfault.com/a/1190000006704150 仅用于个人学习、收藏自查&#xff0c;谢谢原作者。 以系统管理员登录&#xff0c;命令&#xff1a;sqlplus / as sysdba #首先需要 su - oracle 进入到oracle用户下 一、分为四步 /第1步&#xff1a;创…

函数简介

一、函数 函数就是一个功能&#xff0c;一个方法&#xff0c;简化代码。#一个函数只做一件事#重复的代码就是低级的#实现同样的功能&#xff0c;代码越少越好 函数必须得调用才能执行。 1、函数的简单介绍&#xff0c;如下 1 def say(name):# 函数&#xff0c;形参&#xff0c;…

ORA-65096: 公用用户名或角色名无效引发的思考

解决方式&#xff1a; alter session set "_ORACLE_SCRIPT"true; alter session set containerPDBORCL;原因&#xff1a;查官方文档得知“试图创建一个通用用户&#xff0c;必需要用C##或者c##开头”&#xff0c;这时候心里会有疑问&#xff0c;什么是common user&am…

VS封装给Unity使用的DLL

首先: 注意两点,一个是选择3.5,Unity最高支持到3.5 然后要选择第二个FrameWork类库 第一个会报错 然后导入Unity dll 我Unity安装在F:\AppLicationWorkSpace\Unity5.6.2\Unity\Editor\Data\Managed 用哪个导入哪个 然后生成 Ok 把生成的DLL放到Unity里就可以使用了 继续写…

ftp与sftp及sftp和scp的区别

FTP VS SFTP FTP是文件传输协议。在网站上&#xff0c;如果你想把文件和人共享&#xff0c;最便捷的方式莫过于把文件上传到FTP服务器上&#xff0c;其他人通过FTP客户端程序来下载所需要的文件。 FTP进行文件传输需要通过端口进行。一般所需端口为&#xff1a; 1. 控制链路—T…

Kong API Gateway部署手册----安装

文章转载&#xff1a;http://www.nxops.cn/post/97.html

Linux系统下面crontab选择默认编译器

crontab修改默认编辑器crontab默认编辑器为nano.修改crontab默认编辑器为vi或者其他的编辑器。法一&#xff1a;export EDITOR"/usr/bin/vim" ; crontab -e法二&#xff1a;&#xff08;一般我用这方法&#xff0c;简单方便&#xff0c;选3&#xff09;执行命令&…

hawq state 报错: the database is down, but Ambari shows all hawq services as being

此问题官方有给出解决方案&#xff1a;https://discuss.pivotal.io/hc/en-us/articles/221826748-Pivotal-HDB-state-indicates-the-database-is-down-but-Ambari-shows-all-Pivotal-HDB-services-as-being-up Environment ProductVersionPivotal HDB (HAWQ)2.x Symptom Piv…

OpenLayer学习之矢量地图

一、首先了解下矢量地图和栅格地图 矢量图使用直线和曲线来描述图形&#xff0c;这些图形的元素是一些点、线、矩形、多边形、圆和弧线等等&#xff0c;矢量地图放大和缩小不会失真&#xff08;图片你要是放大一定程度明显可以看出一个一个小格→栅格地图的缺点&#xff09;。为…