• 04-集合、字典、运算符


    1.集合

    创建:{} set([])  注意:创建空的集合要用set()
        特点:元素唯一,无序
        运算: & 交集  | 并集  - 差集
        方法: 
        s.add(x)     添加单个元素
        s.update()   添加多个元素
        s.remove()   移除元素
        s.clear()    清空集合

    2.字典

      创建: {key:value} (大括号创建字典的键时要加引号)
            dict(key=value) (括号里赋值方式,名字=对象,不要引号)
            字典里的键和值用‘:’隔开,一对键和值组成一个项,项和项之间用‘,’隔开
      特点:
        键唯一,重复会被重新复制
        无序
            
        添加和取值
            cidt[key]=value  key存在则修改值,没有则添加
        属性方法
        .update({ })  在字典中添加多个项
        
        .items()      返回字典的各个项
            
        .keys()       返回字典的键
            
        .values()     返回字典的值
        
        .get(k)       如果键k在,返回键k的值,不存在则返回None
    
        .get(k,x)     如果键k在,返回键k的值,不存在则返回x
    
        .pop(k)       返回并移除键k所对应的元素,不存在则抛出异常
        
        .pop(k,x)     返回并移除键k所对应的元素,不存在则返回x
    
        总结:
            key唯一,故可以是数字,字符串,元组
    
    
    总结:
        可变对象:list set dict
        不可变对象: str tuple

    3.运算符

    算术运算符:+ ,- , *, /, %, **,//
        赋值运算符:= ,+=,-=, *=,/=,%=, **=
        比较运算符:==,!=, >, <, >=,<=
        成员运算符:in , not in
        身份运算符:is , is not
            判断两个名字是否指向同一个对象,当id相同时返回True(==比较运算是判断的值)
        逻辑运算符:and,or,not
            and(与) 两个条件都满足时才返回True
            or(或)  有一个条件满足了就返回True
            not(非) 取反
    
        计算顺序:默认地,运算符优先级表决定了哪个运算符在别的运算符之前计算。然而,如果你想要改变它们的计算顺序,你得使用圆括号
        结合规律:运算符通常由左向右结合,即具有相同优先级的运算符按照从左向右的顺序计算
    '''
    **                            #幂运算
    +   -  *   /   %              #算术运算符
    <  >  <=  >=                  #比较运算符
    ==  !=                        #比较运算符
    =  %=  /=  -=  +=  *=  **=    #赋值运算符
    is    is not                  #身份运算符
    in    not in                  #成员运算符
    not  >  and  > or             #逻辑运算符
    '''


    4.作业

    # 1.有两个列表 x = [1,2,3,'a','b','c'] y = ['a','b','c']找出x列表中在y 中也有的元素
    x = [1,2,3,'a','b','c']
    y = ['a','b','c']
    x = set(x)
    y = set(y)
    x&y
    #{'b', 'a', 'c'}

    # 2.新建一个字典,用3种方法往字典里面插入值;用 4 种方法取出values,用2种方法取出key

    ##用3种方法往字典里面插入值
    di ={}
    di['name'] ='马文海'
    di.setdefault('age',22) #当key存在,就返回原来的value。 不存在时,添加。返回新的value
    '''aa = di.setdefault('hello') ''' # value没写,默认返回None
    di.update({'name':123,'fff':55}) # key存在 就会更新。 不存在就会添加

    ## 4 种方法取出values
    ####1
    di['name']
    ####2
    di.get('name','not find key error')
    ####3 values()
    bb = di.values()
    bb = list(bb)
    bb[0]
    ####4
    list(di.items())[0][1]
    di.setdefault('c')
    di.popitem() #随机删除

    ##2种方法取出key
    ####1
    list(di.keys())[0]
    ####2
    list(di.items())[0][0]
    list(di.items())[-1][0]

    # 3.定义我们学过的每种数据类型,并且注明,哪些是可变,哪些是不可变的.

    # 数值类型 int float bool complex 。 不可变的

    #int
    a = 1

    #float
    b = 1.1

    #bool
    f = False
    t = True

    #complex
    c = 2 + 2j

    # 序列类型 list tuple str

    #list
    li = [1,2,3,4,5] #list可变的

    #tuple
    tu = (1,2,3,4,5) # tuple 不可变的

    #str
    s1 = 'a' # str 不可变的
    s2 = "a"
    s3 = ''' aaa'''

    # 非序列 set dict

    #set
    se = {1,2,4,5} # set 可变

    #dict
    di = {'a':1,'b':2} # dict可变

  • 相关阅读:
    搭建前端监控系统(备选)Js截图上报篇
    搭建前端监控系统(三)静态资源加载监控篇
    搭建前端监控系统(一)阿里云服务器搭建篇
    springboot+缓存
    springboot集成springDataJpa
    从零开始搭建SpringBoot项目
    Java1.8的HashMap源码解析
    SpringMvc流程分析,简单源码分析
    Java定时任务
    Java性能调优
  • 原文地址:https://www.cnblogs.com/Jack-Ma/p/8644777.html
Copyright © 2020-2023  润新知