摘要:可以用作的,因为它是不可变的。但是作为的时有个限制的元素是可以哈希的。一般是这样用的但是你不能这样用
最近把python的基础语法复习一下,发现tuple这个比较特殊,有几点需要注意下
1.tuple的每个元素值不能改变,如:
>>> a=(1,2) >>> a[0]=3; Traceback (most recent call last): File "", line 1, in TypeError: "tuple" object does not support item assignment >>>
2.tuple的元素是list的时候,tuple是管不着list的,tuple只管每个元素的值不改变
>>> b=[1,2] >>> a=(b,3) >>> id(b) 4454662368 >>> id(a) 4454507512 >>> id(a[0]) 4454662368
如上,当我再修改b的时候,a里面看到的是修改后的值
>>> b[0]=8 >>> a ([8, 2], 3)
但是我给b重新复制的话,b已经是指向了新的地址
>>> b=[4,5] >>> id(b) 4454500256 >>> id(a[0]) 4454662368 >>> a ([8, 2], 3)
对b的修改当然不会影响到a。
3.tuple可以用作dict的key,因为它是不可变的。但是tuple作为dict的key时有个限制——tuple的元素是可以哈希的。
一般是这样用的:
>>> c=(4,6) >>> d={c:"adf"}
但是你不能这样用:
>>> l=[5,4] >>> c=("dfdf",l) >>> d={c:"adf"} Traceback (most recent call last): File "", line 1, in TypeError: unhashable type: "list"
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/38545.html
摘要:看这个标题,有点匪夷所思吗为什么是难以想象的呢因为在中,它的确是很常用而且很强悍,强悍到以至于另外一个被称之为迭代的东西,在中就有点相形见绌了。然后将序列对应的元素依次组成元组,做为一个的元素。 看这个标题,有点匪夷所思吗?为什么for是难以想象的呢?因为在python中,它的确是很常用而且很强悍,强悍到以至于另外一个被称之为迭代的东西,在python中就有点相形见绌了。在别的语言中,...
摘要:关于元组,上一讲中涉及到了这个名词。元组是用圆括号括起来的,其中的元素之间用逗号隔开。使用而不是如同拥有一个隐含的语句,说明这一数据是常量。必须是不可变的。只有字符串整数或其它对安全的才可以用作。 关于元组,上一讲中涉及到了这个名词。本讲完整地讲述它。 先看一个例子: >>>#变量引用str >>> s = abc >>> s abc >>>#如果这样写,就会是... >>> t...
摘要:本文是通过廖雪峰的网站学习而整理的真的是很好的教程,省得我花钱买书了,然后我没有去再整理总结语法,而是直接通过写出代码段来体现自己的学习,也方便以后的快速复习回顾。 不想再像以前那样,什么都从头开始学习语法、总结语法,这样反而会过分纠结于语法,耽误了开发,毕竟语言的主要属性是工具,次要的属性是语言本身。 所以还是先熟练使用语言去进行开发,等足够熟悉了,再去研究语言本身(编译原理……)。...
摘要:元素的获取与一致,即即可。中的是唯一的不可变对象。若不存在该则返回。是一个有序且不重复的数据集合。创建创建时重复的元素将被自动删除。添加元素删除元素若元素不存在,则会报错误。 Python的数据集合有四种,即list,tuple,dict,set 列表,List List是Python中一种有序的可变的数据集合。它的元素可以被添加或则删除。List的表示方法是用一个[]将元素包含起来,...
摘要:如果一个对象定义了和两个方法,它就是一个迭代器,对于迭代器来说,返回的是它自身,则是返回迭代器中的下一个值。 复习索引: 1. dict与list的区别是什么?查找方面 2. dict如何进行数据的存、取、判断是否存在、返回位置、删除等操作? 3. 什么是不可变对象?在dict和set中如何应用? 4. dict和set有什么异同? 5. range(),abx()函数如何使用?参数是...
阅读 897·2021-11-25 09:43
阅读 2257·2019-08-30 15:55
阅读 3130·2019-08-30 15:44
阅读 2022·2019-08-29 16:20
阅读 1428·2019-08-29 12:12
阅读 1593·2019-08-26 12:19
阅读 2258·2019-08-26 11:49
阅读 1688·2019-08-26 11:42