zoukankan      html  css  js  c++  java
  • Python学习笔记--5 字典

    字典的优点是速度快,好取值。list和元组是按序搜索,字典是一种k-v形式,按key搜索取值。

    字典没有顺序,输入输出都不一定是正确顺序。每次打印出来顺序都不一样,输入时也不用按顺序

     

    字典用大括号定义,如下:

    xiaojun = {
        'name':'xiaojun',
        'sex':'男',
        'shengao':'185',
        'age':18,
        'email':'acb@qq.com',
        'addr':'火星',
        'id':1
    }

    一、增:

    1)直接赋值:

    hailong['zhuzhi'] = '北京' #如果原来有值就覆盖,原来没有就是新增
    hailong['age']=30
    print(hailong)

    2)setdefault():
    d['name']='xiaojun' #定义一个d,直接给name赋值
    d.setdefault('name','wangcan') #如果这个key已经存在,那么就不修改它的值了

    二、删

    1)Pop()

    hailong.pop('age') #删除指定项
    print('删除age',hailong)

    2)Popitem()

    hailong.popitem()#随机删除
    print(hailong)


    3)del

    del hailong['age']#删除字典的一部分。
    print(hailong)

    注:字典的k-v是成双成对出现的,不能只删“小军”留“name”。

    三、改

    1)重新赋值

    stus['name'] = '海龙'

    2)Update()

    name = {'zhuzhi':"北京"}

    hailong.update(name) 
    print(hailong)

    stus.update({'moeny':1000})
    print(stus)

    四、查

    1)直接取值查询

    print(hailong['name'])#查询一个不存在的内容会报错。

    2)get()
    print(hailong.get('addr','火星'))#get查找-不报错,可以设置默认值。如果有就返回一个值,没有就返回none

    3) values()
    print(hailong.values())#打印hailing的全部value

    4) keys()
    print(hailong.keys())#打印hailong的全部key

    5) items()
    print(hailong.items())#打印hailong的全部键值对

    五、循环:
    for i in hailong:
        print(i)#打印hailong的key


    for i in hailong:
        print(i) #搜索hailong的key
       
    if i=='name': #从搜索到key中找到name
           
    print(hailong[i])#打印hailong的name



    for k,v in hailong.items():
        print(k,v)

    六、嵌套多层取值

    all_stus = {
        'xiaojun':
        {
            'sex': '男',
            'shengao': '185',
            'age': 18,
            'email': 'acb@qq.com',
            'addr': '火星',
            'id': 1,
            'cars':['牧马人','911','野马','劳斯莱斯']
            #五菱宏光
       
    },
        'hailong':{
            'sex': '男',
            'shengao': '185',
            'age': 18,
            'email': 'acb@qq.com',
            'addr': '火星',
            'id': 2
        },
        'yangfan':{
            'sex': '男',
            'shengao': '185',
            'age': 18,
            'email': 'acb@qq.com',
            'addr': '火星',
            'id': 3,
            'bags':{
                'qianbao':['lv','ysl'],
                'beibao':['coach','abc']
            }
        }
    }



    #内容太多时,可字典嵌套字典。name作为key

    #xiaojun
    的车加一个五菱宏光
    all_stus['xiaojun']['cars'].append('五菱宏光')
    print(all_stus)

    #查看xiaojun一共多少辆车
    print(len(all_stus["xiaojun"]["cars"]))

    #把yangfan的性别改成女
    all_stus['yangfan']['sex']='女'
    print(all_stus)

    #yangfan去掉一个lv钱包
    all_stus['yangfan']['bags']['qianbao'].remove('lv')
    print(all_stus)

  • 相关阅读:
    C#文件读写常用类介绍
    C#实现注销、重启和关机代码
    Mybatis学习---基础知识考核
    Linux操作系统各版本ISO镜像下载
    Java学习---JDK的安装和配置
    Java学习---基础知识学习
    Java学习---常见的模式
    Java实例---黑白五子棋[单机版]
    Java实例---简单的超市管理系统
    Java实例---简单的个人管理系统
  • 原文地址:https://www.cnblogs.com/youyou-luming/p/9568840.html
Copyright © 2011-2022 走看看