集合类型

一、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}

你可能感兴趣的:(集合类型)