Python_List,Tuple,Dict,Set
一: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)