您现在的位置是:首页 > 文章详情

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

日期:2018-08-05点击:405

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

 

原文链接:https://yq.aliyun.com/articles/623827
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章