美文网首页
Day_06 元组、字典、集合

Day_06 元组、字典、集合

作者: FansYuercero | 来源:发表于2018-07-23 18:34 被阅读0次
    字典

    字典也是一种容器类型的数据类型(序列),存的数据是以键值对的形式出现的
    字典中的元素全部都是键值对。

    字典是可变的(可以增删改),但是无序的(不能使用下标)
    键值对:键:值(key:value) 键值对中key是形式,值才是真正存的内容

    键理论上可以使任何不可变的数据类型,实际开发一般使用字符串作为key。

    值:可以使任何数据类型,且是唯一的
    dict = {key1:value,key2:value,key3:value}
    1.声明一个字典
    a.dict1 = {}//创建一个空的字典
    dict2 = {'a':1,'b':2,'c':3}
    b.将其他数据类型转换为字典,只有列表中元素是元组才能转换,其他数据类型不行
    dict3 = dict([(1,2),(3,4)])
    2.字典的增删改查
    a.查:获取字典元素的值,字典获取元素的值是通过key来获取的,
    如果key不存在,会报错
    b.get(key):如果key不存在,会返回none
    dict1 = {'a':1,'b':2,'c':3}
    print(dict1.get('a'))
    注意:如果key值存在,使用dict[key],如果不确定使用get(key)
    2.1 字典的增加修改元素:通过key获取字典元素的值,然后赋值。当key存在,就是修改元素的值,当key不存在就是给字典添加元素
    a.修改:dict[key] =value key值在字典中存在
    b.增加:dict[key] = value key值在字典中不存在,增加键值:元素
    c.删除:del dict[key]删除字典某个键值对 del dict 删除字典。如果key不存在会报错 KeyError
    dict.pop(key)删除,会返回被删除的键值对对应的值
    3.相关的数组属性
    a.keys: dict.keys()获取字典中所有的键值,返回dict_keys([键值])
    b.values:dict.values()获取字典中所有的元素,返回dict_values([值])
    c.items:将字典中所有的键值对转换为一个元组,key作为元组的第一个元素,value作为元组的第二个元素。

    4.遍历字典
    通过for循环用变量直接取字典的值
    for x in dict:
    print(x,dict[x])
    通过for循环直接获取key和value,但不推荐这种,因为耗CPU资源
    for x,y in dict.items():
    print(x,y)

    5.字典的应用:列表中有字典、字典中有字典、字典中有列表

    6.字典的其他操作
    key in 字典:判断字典中是否存在指定的key
    update:字典1.update(字典2):使用字典2的键值对去更新字典1中的键值对,如果字典2中对应键值对在字典1中不存在,就添加。存在就更新字典2中对应键的值

    元组

    1.元组:元组就是不可变得列表,列表中除了可变的操作以外,其他的操作都适用于元组
    元组值:a.使用()将元素包含起来,多个元素间用,隔开
    b.元素的类型可以是任何类型
    c.当元组的元素只有一个时:表示方法:a=(10,)
    2.改、增、删相关操作不能作用于元组,但查可以
    a.获取单个元素,tuple[下标]
    b.获取多个元素,tuple[index1:index2:index3]切片
    //通过过个变量分别获取元组的元素(变量个数和元组个数一样)
    c.names = ('a','b')
    x,y = names
    print(x,y)--->a b
    d.获取元组首尾中间的元素 midel表示获取不定长的元素,不加表示获取一个
    nums = [1,2,3,4]
    first,midel,last = nums
    print(first,midel,last) -->1 [2,3] 4
    num1,num = nums -->[1,2,3] 4//num1获取元组前面所有的元素,num获取最后一个
    num1,
    num = nums -->1 [2,3,4]//num1获取元组第一个,num获取元组后面所有的
    注意:变量名前加
    号可以把变量变成列表,获取多个元素。
    3.获取长度:len(tuple)
    4.in 、not in:查找元素是否在tuple元组中
    5.+、*操作:组合与重复
    6.min、max:min(tuple)\max(tuple)

    集合

    集合也是一种容器类型的数据类型(序列),数据放在{}中,多个数据之间用,隔开
    {1,2,3,4,5,a,v,c}
    a.集合是无序的,不能通过索引取值,可以增删改
    b.元素不能重复
    1.怎么声明集合
    a.声明一个变量,赋一个集合值
    set1 = {1,2,3,a,b,d}
    b.将其他的数据转换为集合,自带一个去重的功能
    c.创建空集合,不能使用 变量名= {},因为这是一个空字典
    set1 = set() //空集合的创建
    2.增删改查
    查:遍历:for x in set:
    print(x)
    注意;集合因为无序,所以不能通过下标获取单个元素
    增:a.set.add(元素):增加一个指定的元素
    b.set1.update(set2):将集合2的元素更新到集合1中,自动去重
    删:set.remove(元素):删除集合指定的元素
    set.pop():因为集合无序,所以随机删除(一般不用)
    3.集合可以进行数学中集合相关操作,判断包含,求交集、并集、差集
    集合1>=集合2--判断集合1是否包含集合2
    集合1<=集合2--判断集合2是否包含集合1
    set1 = {1,2,3,4}
    set2 = {2,3,5}
    print(set1>=set2) --->False
    print(set1<=set2) --->False
    4.集合的数学运算
    a.求并集:| 集合1 | 集合2
    b.求交集:& 集合1 & 集合2
    c.求差集:- 集合1 - 集合2
    d.求补集:^ 集合1 ^ 集合2
    set1 = {1,2,3,4,5}
    set2 = {1,23,'a','v','c'}
    print(set2|set1)
    print(set1&set2)
    print(set1 - set2)
    print(set2^set1)
    5.set.clear():清空集合

    6.len(set):获取集合长度

    相关文章

      网友评论

          本文标题:Day_06 元组、字典、集合

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