码迷,mamicode.com
首页 > 编程语言 > 详细

python数据类型之列表,元组,字典

时间:2017-06-08 17:59:59      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:com   开始   object   迭代   png   哈希   pytho   对象   存储   

pop  按照 索引 删

remove  按照 元素 删

列表 可变

元组 不可变,切片是一种读操作。与 元组 相关的操作比 列表 少很多。 

元组下的列表内的东西是可以改变的,元组下的列表作为一个整体是不可改变的。

元组  列表在应用中的区别?

 

 

身份比较,类型比较,值比较
x=1
y=1
x is y #x与y是同一个对象,is比较的是id,即身份
type(x) is type(y) #对象的类型本身也是一个对象,所以可以用is比较两个对象的类型的身份
x == y #==比较的是两个对象的值是否相等

 

列表   list

特性:
1.可存放多个值
2.可修改指定索引位置对应的值,可变
3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序。

a.pop()

技术分享 技术分享

默认移除最后一个。 pop本身就是出栈的意思。

 

元组   tuple

定义:与列表类似,只不过[]改成()
特性:

1.可存放多个值
2.不可变        key不可变,value值可变。        迭代器
3.按照从左到右的顺序定义元组元素,下标从0开始顺序访问,有序

元组的常用操作,索引,切片,循环,长度,包含。  均是读操作,并不涉及到更改。

 

字典

定义:{key1:value1,key2:value2},key-value结构,key必须可hash
特性:

1.可存放多个值
2.可修改指定key对应的值,可变
3.无序

 

字典的存储结构是哈希表, 这样字典的查找性能就会很好(前提是处理好碰撞), 所以字典的key必须是可哈希的

 

什么是可哈希的(hashable)不该改变的(imutable)?

如果一个对象在自己的生命周期中有一哈希值(hash value)是不可改变的,那么它就是可哈希的(hashable)的,因为这些数据结构内置了哈希值,每个可哈希的对象都内置了__hash__方法,所以可哈希的对象可以通过哈希值进行对比,也可以作为字典的键值和作为set函数的参数。所有python中所有不可改变的的对象(imutable objects)都是可哈希的,比如字符串,元组,也就是说可改变的容器如字典,列表不可哈希(unhashable)。我们用户所定义的类的实例对象默认是可哈希的(hashable),它们都是唯一的,而hash值也就是它们的id()。

 
技术分享

 

 

 

python数据类型之列表,元组,字典

标签:com   开始   object   迭代   png   哈希   pytho   对象   存储   

原文地址:http://www.cnblogs.com/654321cc/p/6963639.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!