资讯专栏INFORMATION COLUMN

Python复习笔记——tuple

pepperwang / 1129人阅读

摘要:可以用作的,因为它是不可变的。但是作为的时有个限制的元素是可以哈希的。一般是这样用的但是你不能这样用

最近把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

相关文章

  • [零基础学python]难以想象的for

    摘要:看这个标题,有点匪夷所思吗为什么是难以想象的呢因为在中,它的确是很常用而且很强悍,强悍到以至于另外一个被称之为迭代的东西,在中就有点相形见绌了。然后将序列对应的元素依次组成元组,做为一个的元素。 看这个标题,有点匪夷所思吗?为什么for是难以想象的呢?因为在python中,它的确是很常用而且很强悍,强悍到以至于另外一个被称之为迭代的东西,在python中就有点相形见绌了。在别的语言中,...

    lwx12525 评论0 收藏0
  • [零基础学Python]有点简约的元组

    摘要:关于元组,上一讲中涉及到了这个名词。元组是用圆括号括起来的,其中的元素之间用逗号隔开。使用而不是如同拥有一个隐含的语句,说明这一数据是常量。必须是不可变的。只有字符串整数或其它对安全的才可以用作。 关于元组,上一讲中涉及到了这个名词。本讲完整地讲述它。 先看一个例子: >>>#变量引用str >>> s = abc >>> s abc >>>#如果这样写,就会是... >>> t...

    leap_frog 评论0 收藏0
  • 记录我的Python学习笔记

    摘要:本文是通过廖雪峰的网站学习而整理的真的是很好的教程,省得我花钱买书了,然后我没有去再整理总结语法,而是直接通过写出代码段来体现自己的学习,也方便以后的快速复习回顾。 不想再像以前那样,什么都从头开始学习语法、总结语法,这样反而会过分纠结于语法,耽误了开发,毕竟语言的主要属性是工具,次要的属性是语言本身。 所以还是先熟练使用语言去进行开发,等足够熟悉了,再去研究语言本身(编译原理……)。...

    lijy91 评论0 收藏0
  • python学习笔记-数据集合: list,tuple,dict,set

    摘要:元素的获取与一致,即即可。中的是唯一的不可变对象。若不存在该则返回。是一个有序且不重复的数据集合。创建创建时重复的元素将被自动删除。添加元素删除元素若元素不存在,则会报错误。 Python的数据集合有四种,即list,tuple,dict,set 列表,List List是Python中一种有序的可变的数据集合。它的元素可以被添加或则删除。List的表示方法是用一个[]将元素包含起来,...

    qylost 评论0 收藏0
  • [学习笔记]Python基本语法之dict,set

    摘要:如果一个对象定义了和两个方法,它就是一个迭代器,对于迭代器来说,返回的是它自身,则是返回迭代器中的下一个值。 复习索引: 1. dict与list的区别是什么?查找方面 2. dict如何进行数据的存、取、判断是否存在、返回位置、删除等操作? 3. 什么是不可变对象?在dict和set中如何应用? 4. dict和set有什么异同? 5. range(),abx()函数如何使用?参数是...

    AZmake 评论0 收藏0

发表评论

0条评论

pepperwang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<