Python容器的数据类型 (python2)
来源:互联网 发布:淘宝剑三稻香村 编辑:程序博客网 时间:2024/06/07 05:10
容器类数据结构:
1,列表:
列表是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目。一旦你创建了一个列表,你可以添加、删除或是搜索列表中的项目。由于你可以增加或删除项目,我们说列表是可变的数据类型,即这种类型是可以被改变的。
介绍几个列表的方法
insert(i, x) ---- 在指定位置插入一项。第一自变量是要在哪一个元素前面插入,用下标表示例如,list.insert(0, x)在列表前面插入,list.insert(len(list), x)等价于list.append(x)。
append(x) ---- 等价于list.insert(len(a), x)
index(x) ---- 在列表中查找值x然后返回第一个值为x的元素的下标。没有找到时出错。
remove(x) ---- 从列表中删去第一个值为x的元素,找不到时出错。
sort() ---- 对列表元素在原位排序。注意这个方法改变列表,而不是返回排序后的列表。
reverse() ---- 把列表元素反序。改变列表。
count(x) ---- 返回x在列表中出现的次数。
Python代码
- >>> list = ['a','c','g','e','t','b','f','d','g']
- >>> list.insert(3,'d')
- >>> list
- ['a','c','g','d','e','t','b','f','d','g']
- >>> list.append('c')
- >>> list
- ['a','c','g','d','e','t','b','f','d','g','c']
- >>> list.index('c')
- 1
- >>> list.remove('c')
- >>> list.index('c')
- 9
- >>> list.count('d')
- 2
- >>> list.sort()
- >>> list
- ['a','b','c','d','d','e','f','g','g','t']
- >>> new_list = ['a','c','g','d','b']
- >>> new_list.reverse()
- >>> new_list
- ['b','d','g','c','a']
可以使用help(list)获得列表对象的所有方法。
2,元组:
元组和列表十分类似,只不过元组和字符串一样是不可变的,即你不能修改元组。元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变。
举例:Python代码
- >>> zoo = ('wolf', 'elephant', 'penguin')
- >>> print len(zoo)
- 3
- >>> new_zoo = ('monkey','dolphin', zoo)
- >>> print len(new_zoo)
- 3
- >>> print new_zoo
- ('monkey','dolphin', ('wolf','elephant','penguin'))
- >>> print new_zoo[2]
- ('wolf','elephant','penguin')
- >>> print new_zoo[2][1]
- elephant
从代码中可以看出列表和元组的区别。
3,字典:
字典是一系列未排序的“键值:值”的集合,在同一字典内键值是互不相同的。对字典的主要操作是以某个键值保存一个值,以及给定键值后查找对应的值。也可以用del删除某个键值:值对。如果用一个已有定义的键值保存某个值则原来的植被遗忘。用不存在的键值去查找会出错。
字典不象序列,它不是用在一个范围之内的数字下标来索引,而是用键值 来索引,键值可以是任何不可变类型。字符串和数值总可以作键值。如果元组只包含字符串 、数值或元组,则元组也可以作键值使用,因为元组是不可更改的。列表不能用作键值,因为列表可以用其append()方法就地改变值。
字典对象的keys()方法返回字典中所有键值组成的列表,次序是随机的。需要排序时只要对返回的键值列表使用sort()方法。为了检查某个键值是否在字典中,使用字典的has_key()方法。
字典使用举例:
Python代码
- >>> employee_id = {'Sammy':1, 'david':2, 'shirley':3,'jack':4,'guido':5}
- >>> employee_id['shirley']
- 3
- >>> employee_id.has_key('fly')
- False
- >>> employee_id.keys()
- ['shirley','Sammy','guido','jack','david']
- >>> employee_id
- {'shirley':3,'Sammy':1,'guido':5,'jack':4,'david':2}
- >>> del employee_id['david']
- >>> employee_id
- {'shirley':3,'Sammy':1,'guido':5,'jack':4}
- >>> for name, id in employee_id.items():
- .... print'employee %s id is %d' % (name, id)
- ....
- employee shirley idis3
- employee Sammy idis1
- employee guido idis5
- employee jack idis4
- >>> if'shirley'in employee_idor employee_id.has_key('shirley'):
- .... print employee_id.get('shirley')
- ....
- 3
- Python容器的数据类型 (python2)
- python之Collections容器数据类型
- Python2(Python基础)
- python基础数据类型及内置容器详解
- 关于python的input和raw_input(仅针对python2)
- python2 与Python 3 的区别(持续更新...)
- Windows下Python,Numpy函数库的安装(python2.7.13)
- python的数据类型(上)
- python的数据类型(下)
- Python2.数据类型和变量
- 【Python】Python2与Python3的不同
- python 容器的使用
- python2.7学习笔记(一)数据类型及基础
- Python的数据类型(内置类型)
- Python拾遗(三)常用的数据类型
- 使用Python的数据类型(1)
- 使用Python的数据类型(2)序列
- Python数据类型之间的转换(三)
- final数据
- Android selector中的属性浅析
- 除了Maven,还有一种解决jar包管理及定制的好方法
- Ubuntu环境下使用g++编译cpp文件
- [iOS]数据库第三方框架FMDB详细讲解
- Python容器的数据类型 (python2)
- 数字三角形问题
- dcos master挂掉后 slave上面的container会咋样
- Android开发-基本概念小整理(四)为了面试的小伙伴们所准备~~
- [leetcode]217. Contains Duplicate
- Android service 简单介绍
- CSS像素 物理像素 分辨率 PPI
- 定义了一个泛型ArrayList容器
- MDS(multidimensional scaling)多维尺度分析