首页 > 技术文章 > Python_List,Tuple,Dict,Set

yay1101 2017-09-14 14:04 原文

一:List  列表

list是一种有序的集合,可以随时添加和删除其中的元素

 [ ] 把list的所有元素都括起来,就是一个list对象。通常,我们会把list赋值给一个变量,这样,就可以通过变量来引用list

classmates = ['Michael', 'Bob', 'Tracy']

 

查询元素:

正序: 索引从 0 开始,也就是说,第一个元素的索引是0,第二个元素的索引是1,以此类推

倒序: 用 -1 这个索引来表示最后一个元素,倒数第二用 -2 表示,倒数第三用 -3 表示,倒数第四用 -4 表示

添加元素:

(1.) append()方法,把新元素追加到 list 的末尾

 (2.) insert()方法,它接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素.原索引以及后面的所有元素,都自动向后移动一位

删除元素:

pop()方法总是删掉list的最后一个元素,并且它还返回这个元素,所以我们执行 L.pop() 后,会打印出 'xxx'

要删除指定位置的元素, 可以使用pop(索引),例如:pop(2)

替换元素:

对list中的某一个索引赋值,就可以直接用新的元素替换掉原来的元素,list包含的元素个数保持不变

 

二:Tuple  元组

()把tuple的所有元素都括起来,就是一个tuple对象,tuple是个有序集合

tuple创建完成之后,就不能修改了,所以tuple没有append()方法,也没有insert()和pop()方法

获取 tuple 元素的方式和 list 是一模一样的,我们可以正常使用 t[0],t[-1]等索引方式访问元素

因为()既可以表示tuple,又可以作为括号表示运算时的优先级,所以规定,单元素 tuple 要多加一个逗号“,”

 

tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

 

三:Dict  字典

花括号 {} 表示这是一个dict,d = { key: value }

 

dict的特点:

第一个是查找速度快(dict的缺点是占用内存大,还会浪费很多内容)

第二个是存储的key-value序对是没有顺序的(另外,key不能重复)

第三个是作为 key 的元素必须不可变(不可为list对象)

查找value:

d[key]查找对应的value,若不存在,则报错KeyError

判断key是否存在:

(1) if key in d ,若key不存在,返回False

(2) d.get(key) ,若key不存在,返回None

更新dict:

d[key]=value   如果key已经存在,则会用新的value代替原来的value

遍历dict:

for key in d

 

 

四:Set  集合

set元素无重复且无序,传入相同的元素,set会自动去掉重复的元素

特点:

存入元素为不可变对象

判断一个元素是否在set中速度很快。

set存储的元素也是没有顺序的。

遍历set:

s = set(['xxx', 'yyy', 'zzz'])
for xxx in s

添加se元素t:

s.add(ppp) ,加入已有元素时,不会报错,但也不会加进去

删除set元素:

s.remove(zzz) ,删除元素不存在,会报错(删除操作前判断是否存在,in)

 

推荐阅读