zoukankan      html  css  js  c++  java
  • python全栈开发_day6_元组,字典,集合

    一:元组

        1)定义

        元组:有序,可以按索引取值,不可变,但是可以修改元组里面可变数据的数据内容。

        res = (1,2,3,4,3,2,1)

      2)内置方法和使用

        res.count(1)

        返回值:2

      

        可以count,说明可以存放多个同样的数据

        res.index(2,3,6)

        返回值:5

    二:字典

      1)字典的定义:

        字典无序,可以按key取值,key可以为所有不可变类型的数据,values可以为所有类型数据。

        例:name={"one":"wusong","two":"likui","three":"ruanxiaoqi","four":"songjiang"}

      2)字典的内置方法和使用

        1.取值

          常用取值为key,但是当key不存在于字典中时,会报错

          name.get(key)

          如果不存在于字典,则返回None,若存在,则返回value

        

        2.keys,values,items

          

    name={"one":"wusong","two":"likui","three":"ruanxiaoqi","four":"songjiang"}

    print(name.keys(),type(name.keys()))
    #返回值:dict_keys(['one', 'two', 'three', 'four']) <class 'dict_keys'>

    print(name,values(),type(name.values()))
    #返回值:dict_values(['wusong', 'likui', 'ruanxiaoqi', 'songjiang']) <class 'dict_values'>

    print(name.items(),type(name.items()))
    #返回值:dict_items([('one', 'wusong'), ('two', 'likui'), ('three', 'ruanxiaoqi'), ('four', 'songjiang')]) <class 'dict_items'>

    #三种方式的返回值都不是原生列表,无法直接按索引取值,但是可疑的通过for迭代取出,或者直接强制转换为list类型,再按照索引取出。

        3.增加包含的值

          ①update

          ②setdefault

    name={"one":"wusong","two":"likui","three":"ruanxiaoqi","four":"songjiang"}
    
    name.update({"four":"sunerniang","five":"ruanxiaoer"})
    print(name)
    #返回值:{"one":"wusong","two":"likui","three":"ruanxiaoqi","four":"sunerniang","five":"ruanxiaoer"}
    #遵从:原来字典有相同key则覆盖,无则添加。
    
    name={"one":"wusong","two":"likui","three":"ruanxiaoqi","four":"songjiang"}
    name.setdefault("five",None)
    print(name)
    #返回值:name={"one":"wusong","two":"likui","three":"ruanxiaoqi","four":"songjiang","five":None}
    #原先字典有的key则忽视更新,没有的key则按第二个参数为value创建

    name.fromkeys(["six","seven"],None)
    #不改变字典里面的值,若为空字典,则迭代取出key,value为None

        4.去值

    name={"one":"wusong","two":"likui","three":"ruanxiaoqi","four":"songjiang"}
    pop_data=name.pop("two")
    print(pop_data,name)
    #返回值:likui    {'one': 'wusong', 'three': 'ruanxiaoqi', 'four': 'songjiang'}
    #pop按key弹出值,有返回值。

    pop_data2=name.popitems()
    print(pop_data2)
    #返回值:('four', 'songjiang')
    #popitems默认弹出最右的item,有返回值。

    三:集合

      1)set集合的定义

        1.为单列数据集合(常见单列数据集合有:list,str,tuple,set,双列数据集合:dict)

        2.无序无key,无法取值

        3.可变数据,内部可以存放任意类型的多个数据,但是数据具有唯一性

      2)内置方法与使用

        1.交集,&,intersection

        2.并集,|,union

        3.差集,-,difference

        4.对称差集,^,symmetric_difference

    a={1,2,3,4,5}
    b={3,4,5,6,7}
    
    print(a.intersection(b))
    print(a&b)
    #返回值:{3, 4, 5}
    
    print(a.union(b))
    print(a|b)
    #返回值:{1, 2, 3, 4, 5, 6, 7}
    
    print(a.difference(b))
    print(a-b)
    #返回值:{1, 2}
    
    print(a.symmetric_difference(b))
    print(a^b)
    #返回值:{1, 2, 6, 7}

        在所有的运算后加_update就变为了替换原有数据,更新列表

       5.父子集合

    a={1,2,3}
    b={2,3,}
    print(a>b)
    print(a<b)
    print(a==b)
    
    #返回值:True
    False
    False
  • 相关阅读:
    各职业岗位说明
    感慨集中所
    批量插入测试数据
    写作技巧
    Cordova学习
    CocoStudio
    maven使用感受
    org.json
    ApplicationContext
    2017
  • 原文地址:https://www.cnblogs.com/xuxingping/p/10594456.html
Copyright © 2011-2022 走看看