首页 文章 精选 留言 我的

精选列表

搜索[python],共10001篇文章
优秀的个人博客,低调大师

[python skill]python中tuple 和list 的区别

引用1:https://blog.csdn.net/infty/article/details/42392571 感谢~ 只看定义的话,Tuple会被理解为元素不可变(immutable)的List。但如果只是如此,完全没有必要引入一个新的类型。 这里有一个很有意思的讨论。其中举了个例子。比如你去散步,在每一时刻,你都可以记录下自己的位置,比如$(x,y)$,这是一个Tuple;把这个坐标点放到一个List中,然后每隔一段时间,增添新的坐标点。这样很符合逻辑。但反过来就讲不通了。这反映了Tuple内的各元素之间很强的互补关系--它们共同描述了一个个体。在这个例子中,就是一个坐标点;你如果试图去掉其中的$x$坐标,从两维降到一维,这个Tuple就没有意义了--没人知道它代表那个点。这是Tuple元素不可增添或删减的原因。 另一方面,各坐标点之间的关系则只有先后关系,没有强烈的逻辑关联。所以你如果去掉List的末尾一个坐标点--没问题,现在的List表示的是在你到达倒数第二点前的路线。 用上述讨论中的一句话总结,就是“List有(先后)次序,Tuple有(逻辑)结构”。 另一个说法也很有道理,Tuple是一个微型的Class。毫无疑问,Class中的所有元素都是为了描述同一个事物而存在。 (按照最小化的思想,Tuple的确不必引入。但从理解一段代码的角度,看到一个Tuple,我们马上就知道它在描述一件事物,逻辑上显然更加清晰易懂。) 引用2:https://blog.csdn.net/null_kt/article/details/53467223 感谢~ #只创建一个tuple 需要加,消除歧义 a_tuple=(2,) #在tuple中创建list mixed_tuple=(1,2,['a','b']) print("mixed_tuple"+str(mixed_tuple)) #如果在tuple中嵌套list tuple中的list是可以被更改的 mixed_tuple[2][0]='c' print(mixed_tuple) #tuple是一个不可以改变的list 一旦创建 一个tuple 就不能以任何的方式改变它 #tuple 与list 的相同之处 #定义 tuple 与定义list的方式相同,除了整个元素集用小括号包围的而不是方括号 #tuple的元素与list一样按定义的次序进行排序 tuple的索引与list一样从0开始,所以 #一个非空的tuple的一个元素总是t[0] #负数索引与list一样从tuple的尾部开始计数 #与list一样分片(slice)也可以使用 .注意当分割一个list时,会得到一个新的list;当分割 #所以当分割一个tuple时,会得到一个新的tuple # #tuple不存在的方法 # 不能从一个tuple增加元素。所以没有append 和extend方法 #不能用tuple删除元素,所以没有remove和pop方法 #然而可以使用in 来查看一个元素是否存在tuple中 # ##用tuple的好处 #tuple比list操作速度快.如果定义了一个值的常量集,并且唯一要用它做的是不断地遍历 #则用tuple代替list #如果对不需要修改的数据进行"写保护",它可以使代码更安全.使用tuple而不是list如同拥有一个 #隐含的assert语句,说明这一数据是常量.如果必须要修改这些值.可以把tuple转换list #的转换 #tuple与list的转换 #tuple可以转换成list,反之亦然.内置的tuple函数接受一个list,并返回一个有着相同元素的tuple.而list函数 #接收一个tuple返回一个list.从效果上看,tuple冻结一个list,而list解冻一个tuple # #tuple的其他应用 #一次赋多值 #>>>v=('a','b','e')) #>>>(x,y,z)=v #解释:v是一个三元素的tuple并且(x,y,z)是一个三变量的tuple.将一个tuple赋值给另一个tuple会按顺序将v的每一 #个值赋给每一个变量

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册