散列类型(set、dict)(2018-11-19)

一、集合(元素不重复,无序的无法通过下标取值)

        两种定义方法

        set = { 1,2,3,4 }

         a = set()括号内家参数类型转换,为空定义空集合(用 a={ } 定义的是空字典)

1、集合运算

         交 &,并  |,差  —

        增    add(作为一个整体添加到集合中)

                   a=set('python')

                   a.add('tina')

         删    pop、remove

                    set1={ 1 , ' b ', 11 ,22 ,33 ,44 ,' good ' }

                    set1.pop()

                    set1.remove( ' b ' )

          改    update ( update  是把要传入的元素拆分,做为个体传入到集合中 )

                    my_set = set( )

                    my_set.update("abc")

                    my_set.update({})

         查    isdisjoint 有交集返回False;issubset 判断是否包含于,issuperset 判断是否包含


二、字典

        1、两种定义方法

                 di = {'name':'无名', 'height':'175cm'}  键值对形式

                 di2 =dict(a=1, b=2)         使用dict函数

       2、修改和添加

                 di['a'] = 2   有这个键就修改,没有就添加

                 di['b'] = 3  

       3、

                   copy()              copy()方法语法:dict.copy();参数--NA;返回值--返回一个字典的浅复制。

                   fromkeys()      返回新字典,字典 fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。语法:dict . fromkeys(seq [ , value])

              setdefault()   有则查,无则增。Python 字典 setdefault() 方法和get()方法类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值。setdefault()方法语法:dict.setdefault(key, default=None),参数(key -- 查找的键值,default -- 键不存在时,设置的默认键值),返回值--如果 key 在 字典中,返回对应的值。如果不在字典中,则插入 key 及设置的默认值 default,并返回 default ,default 默认值为 None。

        4、

                   clear()              clear() 函数用于删除字典内所有元素,clear()方法语法,dict.clear()

                   pop()               pop() 方法删除字典给定键 key 及对应的值,返回值为被删除的值,pop()方法语法,pop(key[,default])

。key 值必须给出。 否则,返回 default 值。

                   popitem()       popitem() 方法随机返回并删除字典中的一对键和值(一般删除末尾对)。如果字典已经为空,却调用了此方法,就报出KeyError异常。

        5、

                   update()        update() 函数把字典dict2的键/值对更新到dict里。update()语法,dict.update(dict2)。该方法没有任何返回值。

        6、

                   get()        get() 函数返回指定键的值,如果值不在字典中返回默认值。get( )语法,dict.get(key, default=None)。key -- 字典中要查找的键。default -- 如果指定键的值不存在时,返回该默认值。返回指定键的值,如果值不在字典中返回默认值None。

                   keys()       keys() 方法返回一个迭代器,可以使用 list() 来转换为列表。keys()语法,dict.keys(),无参数。

                   values()       values() 方法返回一个迭代器,可以使用 list() 来转换为列表,列表为字典中的所有值。values()语法,dict.values()

,无参数。

                   items()      items() 方法以列表返回可遍历的(键, 值) 元组数组。items()语法,dict.items(),无参数,返回可遍历的(键, 值) 元组数组。

三、什么是可变/不可变对象 

            不可变对象,该对象所指向的内存中的值不能被改变。当改变某个变量时候,由于其所指的值不能被改变,相当于把原来的值复制一份后再改变,这会开辟一个新的地址,变量再指向这个新的地址。 

            可变对象,该对象所指向的内存中的值可以被改变。变量(准确的说是引用)改变后,实际上是其所指的值直接发生改变,并没有发生复制行为,也没有开辟新的出地址,通俗点说就是原地改变。 Python中,数值类型(int和float)、字符串str、元组tuple都是不可变类型。而列表list、字典dict、集合set是可变类型。 

你可能感兴趣的:(散列类型(set、dict)(2018-11-19))