集合类型
一、list和tuple
1.list list是一种有序的集合,类似java的数组或arraylist,注意list中元素的类型是不受限制的
例如:classmates = ['Michael','Bob','Tracy']
list截取:(1)list[index]取出下标为index的元素
(2)list[0:2]截取list的前2位做为一个新的list
常见的函数:
(1)len(list)函数可以获得list元素的个数
(2) insert (index,ele)将元素加到指定的位置
(3)list.append(ele)将元素追加到list的尾部
(4)list.pop()删除尾部元素
(5)list.pop(index) 删除指定位置的元素
(6)list中元素的类型可以不一致,list元素也可以是另一个list,
(7) ele in list 判断list中是否包含ele元素
2.tuple tuple叫元组,tuple和list非常类似,但是tuple一旦初始化就不能修改,所以tuple 没有insert()、append()等方法
(1)tuple的陷阱,当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来,
2个元素: t = (1,2)
没有元素:t = ()
一个元素:t=(1,) 注意,必须加逗号,避免数学公式中的小括号,并且当tuple只有一个元素时,显示也有逗号
(2)tuple 的元素是不可变的,但是当tuple 中有元素是list类型,那么list中的数据是可变的
二、dict类型
dict叫做字典,在java中称为map
1.dict的定义:d={'john':'180cm','tom':'185cm'}
注意:key的类型必须是不可变类型(int,str,tuple)
2.dict的方法:
(1)d[‘aaa’]=aabbb, 如果d中没有key为aaa键值对,那么新增这个键值对,如果有则覆盖原来的值
(2)d['tt'] ,取d中key为tt的值,如果不存在这个key,则报错
(3)d.get('tt') ,取出d中key为tt的值,如果没有返回None
(4)d.get('tt','aa') ,取出d中key为tt的值,如果没有返回默认值aa
(5) 'aa' in d 判断d中有没有key为aa ,有返回True,没有返回False ;
(6)d.pop('mm') 删除d中key为mm的键值对 ,key必须存在,否则报错
三、set
set和map类似,但是甚至有key没有value
1.定义set,创建一个set,需要提供一个list作为输入集合
s=set([1,2,3])或{1,2,3}
定义空set :set()
2.属性:无序,不重复
3.set的方法
(1)add(key)向set中添加元素
(2)remove(key)方法可以删除元素, 如果key不存在则报错
(3)key in set 判断set中有没有key
(4) 求并集 s1 | s2 例如 {1,2,3,4,5,6}|{3,4,9}={1, 2, 5, 6}
(5)求交集 s1 & s2 例如 {1,2,3,4,5,6}&{3,4,9}={3,4}
(7)求差集 s1-s2 例如 {1,2,3,4,5,6}-{3,4,9}={1, 2, 5, 6}