zoukankan      html  css  js  c++  java
  • python学习第四天

     

      

    今日内容
    一、元祖类型及元祖的内置方法
    二、字典类型及字典类型的内置方法
    三、集合及内置的集合类型内置的方法


    一 、元祖.
    元祖类型与列表类型相同,都是可以存多个值,但是不相同的是元祖本身是不能被修改的

    A、元祖的基本使用 tuple
    1、用途:记录多个值,当多个值没有改变的需求是,使用元祖类型更合适。
    2、定义的方式:元祖是用 ()小括号内用逗号隔开任意元素类型的值
    元祖是不能被修改的

    示例:

    tuplevar =(1,2,3,4,5,6,) # tuplevar = tuple((1,2,3,4,5,6,))
    print(tuplevar)
    

    3、常用操作和内置的方法

    a、优先掌握的操作
    1、按索引取值(正向取+反向取):只能取
    2、切片(顾头不顾尾,步长)
    3、长度
    4、成员运算in和not in
    5、循环

    1、按索引取值(正向取+反向取):只能取

     

    t = ('yul', 'mx', 123, ['a','b'])
    print(t[0]) # 索引元祖中元素的值
    print(t[2]) # 索引元祖中元素的值
    #是不可改变的
    # t[2] = 'aaaa'
    t[-1][0] = '1' # 可以改变的是里面的可变元素
    print(t)
    

     

    2、切片(顾头不顾尾,步长)

    t = ('yul', 'mx', 123, ['a','b'])
    print(t[0:2])
    print(t)
    

    3、长度 len

    t = ('yul', 'mx', 123, ['a','b'])
    print(len(t))

    4、成员运算 in 和 not in 还是判断的语句

    xin = ('asd','asdz','zxc',123)
    print('zxc' in xin )

    5、循环

    xin = ('asd','asdz','zxc',123)
    for i in xin:
    print(i)

    B、需要掌握的操作
    1、count 计数
    2、index 索引

    1、count 计数

    xin = ('asd','asdz','zxc','zxc','zxc',123,)
    print(xin.count('zxc'))

    2、index 索引

    示例1:
    t = (1, 2, 3, 4, 5,)
    print(t.index('1',1))
    示例2:
    t=('a','b','c','a')
    print(t.count('a'))
    print(t.index('a',1,10))
    print(t.index('xxx',1,10)) # 没有的值会报错


    二、字典类型及字典类型的内置方法

    字典 doct
    字典的作用:能存储多组key.value键值对;key 是对value的描述性信息,所以key通常情况下是字符串,value可以是任何数据类型
    key是不可变的信息
    字典类型我们只能看到key 可以根据key来取value的值
    字典类型中key的内容是不可以重复的
    无序和可变
    定义:

    d = {2:'sb', 'sb':'dsb',} # d = dic({2:'sb', 'sb':'dsb',})
    print(d,type(d),id(d))
    print(d['sb'])
    

     

    优先掌握的操作:
    1、按key存取值:可存可取

    d1 = {'name':'yl','pwd':'123'}
    print(d1['name']) # 根据key取值
    d1['name'] = '名字' # 根据key替换value的值
    print(d1)
    d1['age'] = 18 # 当赋值语句的key不存在的情况下,会自动新增一个键值对
    print(d1)
    

     

    2、长度 len

    d1 = {'name':'yl','pwd':'123'}
    print(len(d1)) # 统计key的个数

    3、成员运算in和not in 对于字典来说只能判断key值

    d1 = {'name':'yl','pwd':'123'}
    print('123'in d1) # 是不能判断valeu的值的
    print('name'in d1)
    

      

    4、删除 del pop clear

    d1 = {'name':'yl','pwd':'123'}
    del d1['name']
    print(d1)
    

      

    2、pop示例:弹出仅仅是value 会返回删除的值,如果要弹出的key没有的情况下报错

    d1 = {'name':'yl','pwd':'123'}
    res = d1.pop('name')
    print(res)
    

     

    3、clear是清除

    d1 = {'name':'yl','pwd':'123'}
    d1.clear()
    print(d1)
    

      

    #5、键keys() ,值values(),键值对items()

    dic={'name':'egon','age':18,}
    # print(dic.keys())
    for k in dic:
    print(dic)
    print(dic.values())
    print(dic.items()) #
    

      

    6.get()根据key获取value(重点)

    dic={'name':'egon','age':18,}
    print(dic['name'])
    print(dic['pwd']) # 当没有key值时报错
    print(dic.get('name','你需要的key有'))
    print(dic.get('apd','你需要的key有')) # get可以传第二个参数。当你的key不存在的情况下,返回第二个你写好的参数信息
    

      

    # 需要掌握的操作

    # fromkeys() Python 字典 fromkeys() 函数用于创建一个新字典,以序列 l 中元素做字典的键,value 为字典所有键对应的初始值。
    l=['name','age','sex']
    # dic={'name':None,'age':None,'sex':None}
    dic={}
    # for k in l:
    # dic[k]=None
    # print(dic)
    
    dic=dic.fromkeys(l,None)
    print(dic)
    

      

    update 更新

    old_dic = {'name':'yul','age':18}
    new_dic = {'name':'YUL','xb':'N'}
    old_dic.update(new_dic)
    print(old_dic)
    

     

    setdefault:有则不动/返回原值,无则添加/返回新值
    Python 字典 setdefault() 函数和 get()方法 类似, 如果键不存在于字典中,将会添加键并将值设为默认值。

    dic={'name':'egon','age':18}
    res=dic.setdefault('name','EGON') # 字典中已经存在key则不修改,返回已经存在的key对应的value
    print(dic)
    print(res)
    
    res=dic.setdefault('sex','male') # 字典不存在key则添加"sex":"male",返回新的value
    print(dic)
    print(res)
    

      

    三、集合及内置的集合类型内置的方法
    集合类型两大应用场景:关系运算和去重
    针对群体之间做比较,不涉及单个元素
    注意集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值

    把两个列表上里面的重复元素拉出来

    pythons = ['jason', 'nick', 'tank', 'egon', 'kevin', 'owen', 'alex']
    linux = ['frank', 'jerry', 'tank', 'egon', 'alex']
    for name in pythons:
    if name in linux:
    print(name)
    '''
    

      

    定义
    集合:可以包含多个元素,用逗号分割,
    集合的元素遵循三个原则:
    1:每个元素必须是不可变类型

    s = {1,2,3,4,5,6} # <class 'set'> # s = set()
    print(type(s))
    
    s1 = set()
    print(type(s1)) # 注意在定义空集合的只能用关键字set
    
    x = {} # <class 'dict'> 如果你仅仅只写了一个大括号 那么python默认将它当做字典类型
    print(type(x))
    

     

    自动将重复的元素 去除

    s = {1,2,2,2,2,2,2,2,2,2,3,4,4,4,4,4,5}
    print(s)
    

      

    3:无序 以下操作会报错的

    s = {1, 2, 3, 4, 5, 6}
    print(s[1])
    

      

    优先掌握的操作:

    1、长度len
    s = {1,2,3,4}
    print(len(s))
    

      

    2、成员运算in和not in

    s = {1,2,3,4}
    print(1 in s)

    
    

    3、|合集

    4、&交集

    5、-差集

    6、^对称差集

    pythons = {'jason', 'nick', 'tank', 'egon', 'kevin', 'owen', 'alex'}
    linux = {'frank', 'jerry', 'tank', 'egon', 'alex'}
    # 既报名python也报名linux的学生姓名
    print(pythons & linux) # 交集
    
    # 只报名python的学生姓名
    print(pythons - linux)
    
    # 只报名linux的学生姓名
    print(linux - pythons)
    
    # 没有同时报名两门课程的学生姓名
    print(pythons ^ linux) # 对称差集
    
    # 取出所有报了名的学生姓名
    print(pythons | linux)
    

      








  • 相关阅读:
    python之内置函数
    装饰器原理剖析
    迭代器&生成器&yield异步
    python之文件操作read
    函数的创建,调用,返回值和传参的讲解
    collections之deque【双向队列】与Queue【单向队列】
    collections之命名元组
    collections系列之OrderedDict【有序字典】与DefaultDict【默认字典】
    collections系列之Counter
    对象之int介绍
  • 原文地址:https://www.cnblogs.com/ioipchina/p/11134473.html
Copyright © 2011-2022 走看看