美文网首页
day8_元祖,字典

day8_元祖,字典

作者: 逆流而上_2eb6 | 来源:发表于2018-10-09 12:40 被阅读0次

    1.元祖

      元祖:是可以同时存储多个数据的容器,有序的,不可变的。
      语法:使用()将多个元素括起来,用逗号分隔开,元素可以是任何类型的数据。或者直接用逗号隔开,表示的也是一个元祖。
      注意:元祖只有一个元素时,要在元素后加逗号。tuple1=(1,)
      元祖与列表区别 :元祖元素不支持增删改,只能查。列表获取元素的方式,元祖都支持。
    可以通过相同的变量个数来一一获取元祖中的元素
      x,y=10,20
      交换变量的值:

    a,b=10,20
    b,a=a,b   # a=20,b=10
    

      可以通过在变量前加*来获取部分元素

    tuple1=("小鲜肉",20,30,40,30)
    name,*score,num=tuple1
    print(name,score,num)  #小鲜肉  [20,30,40] 30
    

      可以通过在列表和元祖前加*,来展开元素

    tuple1=(1,2,[2,4])
    print(*tuple1)  #1 2 [2,4]
    

      元祖的运算:+,*,==,is,in,not in

    print((1,2)+(3,4))
    print((1,2)*3)
    print((1,2)==(1,2))
    print((1,2) is (1,2)) # False
    print((1,2,3) in (1,2,3,4,5))
    print((1,2) not in(2,4,5))
    

      函数:len(),max(),min()
      转换:tuple().注意,字典只能将key值作为元祖元素。
      排序:sorted(),可以通过sorted()对元祖进行排序,得到一个新的列表。

    2.字典

      字典dict:是一个容器类的数据类型,可以用来存储多个数据(以键值对的形式存储)
      语法:{key1:value1,key2:value2…………}
      可变,无序:可以增删改查,但不能通过下标获取值
      键(key):用来定位值,要求只能是不可变的数据类型(数值,字符串,元祖……),并且是唯一的。
      值(value):用来存储数据,可以是任何类型的数据
      不同容器类型的使用:
      列表:保存的个数据是同一类的数据(不用区分)
      字典:保存的多个数据是不同类型的数据(需要区分)
      查(获取value):a.通过key 来获取,字典[key]--->获取key对应的值。key必须是存在的,否则会报KeyError b.字典.get(key)--->通过key获取值。key不存在时不报错,为None
    确定key存在用[]语法,不确定用get().
      遍历:for a in dict1: ,得到的a是key值。在用dict1[a]得到value(推荐使用,更节省资源)
    其他遍历方法:for a in dict1.values():得到value,for key ,value in dict1.items():得到键值对。
      添加键值对
    字典[key]=值(key不存在)

    dict1={}
    dict1["dsj"]=1
    

      修改
    字典[key]=值(key存在)
      删除:删除键值对
    a. del 字典[key]
    b. pop(key) --->取出key对应的键值对。
      字典相关运算
    ==:判断两个字典的值是否相等
    is:判断两个字典的id是否相等。
    in,not in:判断key是否存在于字典
      字典相关函数和方法

    1. len():获取键值对的个数。
    2. clear():清空字典
    3. 字典.copy():返回一个字典的复制
    4. dict.formkeys(序列,值):创建一个字典,序列中的元素分别为一个key,且value=值。
    dict1=dict.formkeys("abc",12)
    print(dict1)  #{"a":12,"b":12,"c":12}
    
    1. 字典.get(key)--->key不存在时取none
      字典.get(key,默认值)--->key不存在时取默认值
    2. 字典.value();字典.keys():返回所有的值/key
      字典.items():将键值对转换成元祖,作为一个序列的元素。
         注意:返回的都不是列表,是别的序列。
    3. 字典.setdefault(key)--->添加键值对,值为none
      字典.setdefault(key,值)---->添加键值对,value=值
         注意:key存在时不会修改字典的值,什么也不做。
    4. 字典1.update(字典2)--->使用字典2去更新字典1.(已经存在的key就更新,不存在就添加)

    3.集合

    集合 :容器,可以同时存储多个数据,可变的,无序的,唯一。
    唯一 :自带去重功能。
    语法:{元素1,元素2…………} 元素只能是不可变的数据,并且不能重复

    集合的增删改查
    a.查(获取元素):集合不能获得单独的元素,也不能切片,只能通过遍历
    b.增加:集合.add(元素)--->在集合中添加一个元素。
    集合1.update(序列)--->将序列中的元素(元素不可变)添加到集合1
    c.删除:集合.remove(元素)--->删除指定的元素
    d.改:集合不能改。

    集合相关的运算
    1.包含:集合1>=集合2,或者 集合2<=集合1判断集合1中是否包含集合2
    2.交集:& 求2个集合公共的部分。
    3.并集:| 求2个集合的并集。
    4.差集:集合1-集合2 求集合1中除了集合2以外的部分
    5.补集:^ 两个集合除了公共部分以外的部分。

    4.数据类型转换

    1. int():浮点数、布尔、部分字符串(34,+34,-34)(34.4不可以,即去掉引号后是一个整数的才可以转换)可以转换成整型
    2. float():整数,bool,部分字符串(去掉引号后是数字)
    3. bool():所有的数据都可以转换成布尔.(当数据为0或者为空[] {},none时为False)
    4. str():所有的数据都可以转成字符串,在数据外加引号就ok。
    5. list():序列才能转化成列表,将序列中的元素作为列表中的元素。字典转换成列表,将key作为元素。
    6. tuple():只能将序列转换成元祖
    7. dict():只有序列,并且每个元素都要有2个值
    8. set():序列可以转换成集合,有去重的功能。

    相关文章

      网友评论

          本文标题:day8_元祖,字典

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