python基础课程讲解07.之基本数据类型2

        队列与堆栈:

             队列 先进先出

                    '''先进去的元素 先出来'''

                         l = []

                        添加元素
                       l.append(111) 
                       l.append(222) 
                       l.append(333) 
                        取出元素
                       print(l.pop(0)) 
                       print(l.pop(0)) 
                       print(l.pop(0)) 

             

              堆栈 先进后出
                       '''先进去元素 后出来'''

                          l = []

        添加元素
        l.append(111)
        l.append(222)
        l.append(333) 
        取值
        print(l.pop()) 
        print(l.pop()) 
        print(l.pop()) 

  二

      字典类型

             内置方法:

                    """

      大括号括起来 内部可以存放多个元素
      元素的表现形式是以K:V键值对形式
      K是对V的描述性信息 一般都是字符串
      K是不可变类型
      整型 浮点型 字符串
      可以是任意类型
      """

               

                作用:存多个值,key-value存取,取值速度快

                定义:key必须是不可变类型,value可以是任意类型。所以字典是可变类型

                1.优先掌握的操作:

                       1.1 按key存取值:可存可取   

                            例题:

                            d1 = {

                                   'username':'jason',
                                   'password':123,
                                   'hobby':['read', 'run']
                              } 

                              修改值:d1['username'] = 'tony'---------->通过key可以改vaule的值 

                              取值:print(d1['username']) 

                              print(d1['age'])  --->键不存在 直接报错!!!

                              d1['age'] = 18   --->键存在则修改 不存在则新建

 

                          1.2 长度len    统计字典中键值对的个数

                          1.3 成员运算in和not in

                                   字典默认只暴露key  value不暴露   如果想取一般只能通过key

                           1.4 删除

                                del d1['password'] ----->指定key删除

                                         '''字典不能使用索引!!!'''

                                res = d1.pop('password') --->注:pop删除字典的key,res会暂存拿到所对应的value值

                           1.5 键keys(),值values(),键值对items()

                                 ※将keys()的结果可以直接看成是列表

                                 print(d1.keys())   --->获取字典中所有的key    dict_keys(['username', 'password', 'hobby']) 老母猪
                                 for k in d1.keys():
                                 print(k)

                                 

                                   """
                                  python2与python3对比
                                   python3
                                   keys()   dict_keys(['username', 'password', 'hobby']) 老母猪
                                   python2
                                   keys()   ['username', 'password', 'hobby']
                                   """

                                   

              ※将values()的结果可以直接看成是列表
                                      print(d1.values()) --->获取字典中所有的vaule   dict_values(['jason', 123, ['read', 'run']]) 老母猪

                                     

            """
            python2与python3对比
               python3
                                      values()   dict_keys(['jason', 123, ['read', 'run']]) 老母猪
                                      python2
                                      values()    ['jason', 123, ['read', 'run']]
             """

                                      ※ 将items()的结果可以直接看成是列表[]套小列表()

                                          print(d1.items())
                                          for k,v in d1.items(): --->解压赋值 结合 for循环
                                          print(k,v)

                                     

                                        """
                                        python2与python3对比
                                        python3
                                        items()      dict_keys([('username', 'jason'), ('password', 123), ('hobby', ['read', 'run'])]) 老母猪
                                        python2
                                        items()       [('username', 'jason'), ('password', 123), ('hobby', ['read', 'run'])]
                                        """

                                1.6 循环

                                       '''字典for循环只能获取到key'''

                                1.7 get方法 (******) (主要用来取值的)

                                        print(d1.get('username')) --->使用频率最为广泛,通过字典的key,获取字典的vaule

                                        当key不存在

                                        print(d1.get('age'))  ---> get方法 key不存在也不会报错 返回None(什么都没有)   

                                       '''get方法还可以给第二个参数  键存在则不使用 键不存在则返回取到第二个参数  不写默认返回None'''

                                1.8 三种创建字典的方式

                                          1※d2 = {'k1':'v1','k2':'v2'}

                                          2※res = dict(name='jason',pwd=123,hobby=['read','run'])

                                          3※:

                                          小例题:

                                           

            l = [
               ['username','jason'],
               ['password',123],
               ['hobby',['read','run']]
             ]

                                        NO.1   d = {}          ------>通过for循环把列表添加到字典当中去

                                           

                      for i in l: 
                       d[i[0]] = i[1] 
                   print(d)

                                       NO.2    d = {}

                                                  

                                                   for k,v in l: 
                                                       d[k] = v
                                                   print(d)

                                       上面第3小题汇总写为:

                                                res = dict(l)

                                                print(res)

                                  1.9 清空 clear()

                                  2.0  快速生成一个字典 fromkeys()      

                                         l = ['username','pwd','hobby']

                                        res = dict.fromkeys(l,None)

                                         print(res)

                                  2.1 弹出末尾一组键值对 popitem()

                                  2.2 键不存在 则新建     键存在不修改 而是获取到键对应的值 setdefault()

                                  2.3   键不存在 则新建        键存在则修改 update()

                                         使用以下方式更为简便实现上面两项内容:

                                                       dd['age'] = 18

                                                       dd['name'] = 'jason'

   

          元组类型

                  内置方法:

                               """

                           小括号括起来 括号内可以存放多个元素
                           元素与元素之间逗号隔开 元素可以是任意类型
                          元组也可以简单的理解为是列表

                          元组属于不可变类型
                            """

                        类型转换 与list一致 支持for循环的都可以

                        元组当内部只有一个元素的时候 逗号不能省略  

                        

                         以后只要是容器类型 无论内部有几个元素 都必须要有逗号
                         尤其是只有一个元素的情况下

                  作用:存多个值,对比列表来说,元组不可变(是可以当做字典的key的),      

                  定义:与列表类型比,只不过[]换成()(再有和列表不一样的地方,元组是不可变类型,列表是可变类型)         

 

                        1.优先掌握的操作:

                                 1.1 按索引取值(正向取+反向取):只能取,不能改(因为它是不可变类型)      

                                 1.2 笔试题

                                     元组内元素的内存地址不能修改
                                     但是如果元素是可变类型 那么元素值可以改-------->可变类型可以更改

                                  1.3 切片(顾头不顾尾,步长)

                                         与字符串列表一致

                                   1.4 长度 len()

                                   1.5 成员运算 in和 not in

                                         与列表一致

                                    1.6 循环

                                       for  i  in (11,22,33):

                                           print(i) 

    四 

             集合类型

                    内置方法:

                           """

                        大括号括起来 内部可以存放多个元素
        元素与元素之间逗号隔开(不是k:v键值对) 元素只能是不可变类型(整型 浮点型 字符串 元组)------>它也是不可变类型
                        s = {1,2,3,4}

                        只有两种情况才会考虑使用集合
                        1.关系运算
                         两个群体之间判断 交叉并集
                         共同好友 共同关注 共同点赞...
                         2.去重操作
                        去除重复的元素
                          """

                       """定义空集合 需要使用关键字set"""

                       '''集合内默认不能出现重复的元素 如果出现了会自动去重'''  

               1. 关系运算     

                        共同好友  :&

                        独有好友  :-

                        所有好友 : |

                        各自好友  :^

                        父集 :>

                        子集 :<

 

上一篇:跟着pink老师学前端HTML-D1


下一篇:字典类型的内置方法,