字典

字典

  1. 容器型数据类型 ,查询速度快,数据关联性强

  2. 以{}括起来。以键值对形式存储的容器型数据类型

    • dic = {'太白':
           {'name': '太白金星','age': 18, 'sex': '男'},
       'python22期': 
           ['朱光亚', '大壮', '雪飞', '岑哥'],
       }
    • 键必的须是不可变的数据类型:int str (bool,tuple几乎不用) 唯一的

    • 值可以是任意数据类型,对象

    • 字典3.5x版本之前(包括3.5)是无序的,

    • 字典3.6x会按照初次建立字典的顺序排列,学术上不认为是有序的。

    • 字典3.7x以后都是有序的。

    • 字典的有点是查询速度非常快,存储关联性的数据

    • 字典的缺点是以空间换时间

  3. 创建方式

    • 1

      dic = dict((('one',1),('two',2),('three',3)))
    • 2

      dic = dict(one=1,two=2,three=3)
    • 3

      dic = dict({'one':1,'two':2,'three':3})
  4. 字典的增删改查

      • 直接增加,有则改之,无则增加

        dic['sex'] = '男'
        dic['age'] = '23'
      • setdefault 有则不变,无则增加

        dic.setdefault('habby')
        dic.setdefault('habby','玩球')
        dic.setdefault('age',45)
      • pop 按照键删除键值对,有返回值

        dic.pop('age')
        ret = dic.pop('age')
        ret = dic.pop('hobby','没有键位')
      • clear 清空

      • del 按照键删除键值对

    • dic['name'] = 'alex'
    • print(dic['sex'])
      
      

      get ***

      l1 = dic.get['sex']
      l1 = dic.get['sex1','没有此键']
      
      • keys()

        print(dic.keys(),type(dic.keys()))
        for key in dic.keys():
            print(key)
        
      • values()

        print(dic.values())
        for value in dic.values():
            print(value)
        
      • items

        print(dic.items)
        for key,value in dic.items():
            print(key,value)
        a,b = b,a
        print(a)
        
  5. 字典的嵌套

    dic1 = {
     'name':['alex',2,3,5],
     'job':'teacher',
     'oldboy':{'alex':['python1','python2',100]}
    # 1,将name对应的列表追加⼀个元素’wusir’。
    dic1['name'].append('wusir')
    print(dic1)
    # 2,将name对应的列表中的alex⾸字⺟⼤写。
    dic1['name'][0] = dic1['name'][0].title()
    print(dic1)
    # 3,oldboy对应的字典加⼀个键值对’⽼男孩’,’linux’。
    a = dic1['oldboy'].setdefault('老男孩','linux')
    print(dic1)
    # 4,将oldboy对应的字典中的alex对应的列表中的python2删除
    dic1['oldboy']['alex'].pop(1)
    print(dic1)
    
  • update 有则改之,无则增加

    • dic.update([(1, 'a'),(2, 'b'),(3, 'c'),(4, 'd')]) 
      print(dic)
    • fromkeys

      dic = dict.fromkeys([1,2,3],[])
      dic[1].append(666)
      print(dic)
    • 将字典中带有k的删除

      l1 = []
      for key in dic:
          if 'k' in key:
              l1.append(key)
      print(l1)
      for i in l1:
          dic.app(i)
      print(dic)
      
      
      
      
      
      for key in list(dic.keys()):
          if 'k'  in key:
              dic.pop(key)
      print(dic)

转载于:https://www.cnblogs.com/shangqiu/p/10840384.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值