zoukankan      html  css  js  c++  java
  • 第四节课 集合、字典、运算符

    一、集合
      1、集合的特性
        无序性:内部的元素是无序排列的
        唯一性:内部的元素都是唯一的,相同的元素会去重
      2、集合的创建

    se={1,2,3,4,5}
    se=set([1,2,3,4,5]) #放入可迭代对象
    
    se=set() #创建一个空集合
    输出均为:
    {1,2,3,4,5}

      3、集合的运算
        并集:|  交集:&  差集:-  与非集:^

    se1={1,2,3};se2={2,3,4}
    se1|se2={1,2,3,4} #并集:就是加一起去重
    se1&se2={2,3}      #交集:两者重复部分
    se1-se2={1}          #差集:se1中se2没有的部分
    se1^se2={1,4}      #与非集:两者补充度的部分,与交集相反

      4、集合的操作方法

    se.add() #添加单个元素
    se.update() #添加多个元素,徐仿佛可迭代对象
    se.remove() #指定移除某个元素
    se.pop() #随机抛出某个元素

    二、字典(唯一的映射类型)
      1、字典的特点
      键是惟一的,重复键会被重新复制(定义)
      无序性
      2、字典的创建

    di={'a':123,'b':456,'c':789} #内部元素只要满足键值对形式即可
    di=dict(a=123,b=456,c=789)#键的定义需符合变量命名规则

      3、字典的取值和修改

    di={'a':123,'b':456,'c':789}
    di['a'] #取值是输入键即可
    di['a']=321 #可以覆盖定义,也就是修改

      4、字典的操作方法

    di.fromkeys(['d','e'],111)#用给定的键创建一个新的字典,每个键默认值为None(可自定义,如111)
    di.copy() #复制一个字典
    di.clear() #清空一个字典
    
    di={'a':123,'b':456,'c':789}
    di.get('f','我不在') #取出键'f'的值,若存在就返回对应的值,否则返回默认值None(可自定义,如 我不在)
    
    di.items() #查看所有的项
    di.keys()   #查看所有的键
    di.values() #查看所有的值
    若要查询其中的某一项(键,值),需要将字典转化为列表,然后通过索引查询,查询值方法也可用get,后面还有pop、setdefault等
    li=list(di.items())
    
    di.pop('d','我不在') #指定键抛出键值对,若不存在,可返回字符自定义(必须自定义)
    di.pop() #随机删除某一键值对(项)
    
    di.setdefault('e',222) #类似get,取键'e',若存在则返回其对于的值,否则就更新到字典,对于值得默认值为None(可自定义,如222)

    di2={'a':333,'d':444}
    di.update(di2) #将字典di2的内容添加、更新和覆盖到原字典di
    输出:{'a':333,'b':456,'c':789,'d':444}

    三、运算符

    **                                                      #幂运算
    + - * / %                                            #算术运算符:加 减 乘 除 取余
    < > <= >=                                         #比较运算符:小于 大于 小于等于 大于等于
    ==     !=                                            #比较运算符:等于 不等于
    = %= /= -= += *= **=                      #赋值运算符:等于 取余等于 除等于 减等于 加等于 乘等于 幂等于
    is is not                                             #身份运算符:是 不是
    in not in                                            #成员运算符:在里面 不在里面
    not > and > or                                  #逻辑运算符
    
    and(与)        #  两个条件都满足返回True
    or(或)          #   一个条件满足就返回True
    not(非)        #   取反
    
    举个栗子:
    a=1;b=2
    a==1 and not b==3 #根据逻辑运算符,not优先级比and高
    输出:True

    四、作业

      1、有两个列表 x = [1,2,3,'a','b','c'] y = ['a','b','c'] 找出x列表中在y 中也有的元素

    z=set(x)&set(y)
    输出:{'a','b','c'}

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

    插入:
    di={'a':1,'b':2,'c':3}
    di['d']=4
    di.setdefault('e',5)
    di2=dict(f=6);di.update(di2)
    
    取键:
    li3=list(di.keys());f=li3[0]
    e=li1[0][0]
    x=di.popitem();x[0]
    
    取值:
    di['a']               
    di.pop('a')           
    x=di.popitem();x[1]
    di.get('a')
    di.setdefault('b')
    li1=list(di.items());c=li1[0][1]
    li2=list(di.values());d=li2[1]

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

    a=1    #int type(a)
    b=1.2  #float
    c=True #bool
    d=1+2j #复数型
    
    关键字的查询方法:
    方法一:import keyword
               keyword.kwlist
    方法二:help('keywords')
    
    s='abc'  #str  s="abc" s='''abc'''  三种定义方法
    li.[1,2] #list
    tu=(1,2) #tuple  tu=1,2
    
    se={1,2} #set
    di={'x':1,'y':2} #dict
    
    list和dict可变,其余都不可变,通过查看id是否可变复数型
  • 相关阅读:
    CentOS 7 修改root密码
    Centos7网络连接不上:Network is unreachable 解决方案
    CentOS7常用命令
    cousera-冷冻电镜笔记-EM Lenses
    cousera-冷冻电镜笔记-Electron Guns
    cousera-冷冻电镜笔记-Introduction: Why Electrons?
    fit_transform,fit,transform区别和作用详解!!!!!!
    数字图像处理基础(采样、量化、邻域、连通性)
    伯努利分布、二项分布、多项分布、Beta分布、Dirichlet分布、连续分布(正态分布)、大数定理、中心极限定理、贝叶斯理论
    信息熵及其相关概念
  • 原文地址:https://www.cnblogs.com/sysun110/p/11267570.html
Copyright © 2011-2022 走看看