您的位置:首页 > 编程语言 > Python开发

[Python]字典Dictionary、列表List、元组Tuple差异化理解

2016-02-15 11:12 901 查看
概述:Python中这三种形式的定义相近,易于混淆,应注意区分.

aDict={'a':1, 'b':2, 'c':3, 'd':4, 'e':5}
aList=[1,2,3,4,5]
aTuple=(1,2,3,4,5)

一、字典Dictionary


语法形式:aDict={'a':1, 'b':2, 'c':3, 'd':4, 'e':5}

Python手册说明:https://docs.python.org/2.7/library/stdtypes.html#dict



Dictionary是Python内置数据类型,定义了"键-值"间的一一对应关系。

每个元素都是key-value对,整个元素集合用大括号扩起来。

可通过key获取对应值,但不能根据value获取key。

key不能相同,相同key则将覆盖就值。

key大小写敏感,value可支持任意数据类型(字符串、整数、对象或其他Dictionary)。

del可通过key删除字典中特定元素
del dict[k]


clear将清空字典中所有元素,空的大括号表示没有元素的字典。

二、列表List


语法形式:aList=[1,2,3,4,5]



List中元素是可变的。

List是使用中括号括起来的有序元素集合。

List列表索引从0开始。

负数索引表示从List的尾部开始向前存取元素,list[-1]表示最后一个元素,可以理解list[-n]=list[len(list)-n]

List[m:n]表示List中m<=k<n的子集,被称为slice,详见手册

List[:]返回与List中元素相同的一个新list,List[1:]取1-len(List)中所有元素

List列表方法:insert()插入新的元素,append()在尾部追加新元素、列表,extend()将一个列表扩展到原列表中,index()返回首个出现的元素索引,k in list返回是否存在

List可通过+连接两个列表,等价于list.extend(anotherList)。

List中元素可以相同

三、元组Tuple


语法形式:aTuple=(1,2,3,4,5)



Tuple元组是不可变的List,不能改变元组中的元素值。

创建Tuple的形式与List相同,区别在于将[]换为()。

Tuple元组没有append、extend、remove、pop、index等方法,但可使用in判断元素是否存在。

空元组可以用()表示,但只有一个元素的元组为避免歧义应当使用(n,)表示,而避免只用(n)的形式,Python可能误解为加了小括号的数字n。

列表和元组的相互转化:
atuple=tuple(alist)
alist=list(atuple)


无关闭分隔符:任何以逗号分隔的无符号对象都认为是元组,如
x,y = 1,2
print "Value of x,y:", x, y


Tuple好处:速度比List快,代码安全。

Python元组包含了以下内置函数:

1、cmp(tuple1, tuple2):比较两个元组元素。
2、len(tuple):计算元组元素个数。
3、max(tuple):返回元组中元素最大值。
4、min(tuple):返回元组中元素最小值。
5、tuple(seq):将列表转换为元组。

参考文献

Python list、tuple、dict区别

Python中的List,Tuple和Dictionary

Python 元组(Tuple)操作详解

Python tuple 元组详解
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: