首页 文章 精选 留言 我的

精选列表

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

[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的每一 #个值赋给每一个变量

优秀的个人博客,低调大师

《WorkBuddy Skills 实战》第1招 Skill不是提示词

你有没有算过,同一段交代要重复多少遍?我是老李,一个在研发一线待了十来年的工程师。最近大半年,我最常说的一句话是:“先读文档、先做计划、不要直接改代码、改完跑测试。”不是我喜欢唠叨,而是每次让 WorkBuddy 改代码,只要漏掉其中一句,它就可能直接打开核心模块动手。有一次我赶时间,只说了“把这个接口改成异步”,结果它没看现有设计文档,绕过了已经约定好的错误处理链路,测试跑挂了,我还得回头查半天。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

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

Sublime Text

Sublime Text

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

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册