美文网首页
散列类型(set、dict)(2018-11-19)

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

作者: 大现在进行时 | 来源:发表于2018-11-19 23:45 被阅读0次

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

            两种定义方法

            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)

          本文链接:https://www.haomeiwen.com/subject/hotzfqtx.html