• 字典


    字典

    # 作用:能存放多个元素,每个元素由key:value组成,key对value有描述性,,key正常情况下是字符串
    # key只能由不可变数据类型,value可以为任意类型
    
    # 定义:
    # d = {'name':'alex','age':'73','hobby':'rap'}  # 第一种定义方式
    # d1 = dict(name = 'alex',age = 84)
    # print(d1)  # {'name': 'alex', 'age': 84}
    # 上面两种定义方式需要掌握
    
    # 这个定义方式了解即可
    # l = [
    #     ['name','jason'],
    #     ['age',18],
    #     ['hobby','read']
    # ]
    # d = {}
    # for i in l:
    #     d[i[0]] = i[1]
    # print(d)  # {'name': 'jason', 'age': 18, 'hobby': 'read'}
    # for k,v in l:
    #     d[k] = v
    # print(d)  # {'name': 'jason', 'age': 18, 'hobby': 'read'}
    
    # d1 = dict(l)
    # print(d1)  #内部for循环
    
    # 优先掌握的操作
    # 1.按key存取值:可存可取
    # dic = {'name':'alex','age':84}
    # dic['name'] = 'egon'
    # print(dic)  # {'name': 'egon', 'age': 84}
    
    # dic['hobby'] = 'rap'
    # print(dic)  # {'name': 'alex', 'age': 84, 'hobby': 'rap'}
    # 在key不存在的时候,会新增一个键值对
    
    # dic['name'] = 'egon'
    # dic['name'] = 'jason'
    # dic['name'] = 'tom'
    # print(dic)  # {'name': 'tom', 'age': 84}
    '''
    强调:字典的key是不能重复的 要唯一标识一条数据
    如果重复了 只会按照最后一组重复的键值对存储
    '''
    
    # 2、长度len
    # 统计键值对个数
    
    # 3、成员运算in和not in   对于字典来说只能判断key值
    # dic = {'name':'alex','age':84}
    # print('name' in dic)  # True
    
    # 4、删除
    # 删除共有三种操作方式del pop clear
    # dic = {'name':'alex','age':84}
    # del dic
    # print(dic)  # 直接报错,这里的dic已经被清除
    # del dic['name']
    # print(dic) # 会将name作为key的键值对删除
    
    # res = dic.pop('name')
    # print(res)  # 这里 如果要弹出不存在的key是 会直接报错
    
    # dic.clear()
    # print(dic)
    
    # 5、键keys(),值values(),键值对items()
    # dic = {'name':'alex','age':84}
    # print(dic.keys())  # dict_keys(['name', 'age'])
    # print(dic.values())  # dict_values(['alex', 84])
    # 这里python3和python2不一样,在2中会直接以列表形式输出,这样会很占内存,
    # 在3中会以老母猪形式输出,就是你想要里面的值时,给你从中间找出
    
    # print(dic.items())  # dict_items([('name', 'alex'), ('age', 84)])
    # 这里直接输出键值对,而且每个键值对在列表中用元组形式存储
    
    
    # 使用get(key)来获取value
    # dic = {'name':'alex','age':84}
    # print(dic.get('name'))  # 这种用法类似于dic['name'],但是如果括号中是不存在的key时,会新增一个键值对,但是get就不会
    # print(dic.get('hobby'))  # get 会返回一个None,我们可以定义key不存在时返回什么
    # print(dic.get('hobby','没有这个key'))  # 在这里就会返回没有这个key
    
    # dict.fromkeys快速创建一个字典,列表中都为key
    # l = ['name','age','hobby']  # 这里并不是只能列表,只要是容器类型都行
    # print(dict.fromkeys(l,84))  # {'name': 84, 'age': 84, 'hobby': 84}
    
    
    
    # dict.popitem() 尾部以元组的形式弹出键值对
    # dic = {'name': 'alex', 'age': 84}
    # res = dic.popitem()
    # print(res)  # 具有返回值
    
    
    
    
    
    # dict.setdefault()
    # dic = {'name': 'alex', 'age': 84}
    # dic.setdefault('name','egon')
    # res = dic.setdefault('name','egon')
    # print(dic,res)  # 当key存在时不改变value,并且将key对应的值返还给你
    # dic.setdefault('hobby','rap')
    # res2 = dic.setdefault('hobby','rap')
    # print(dic,res2)  # 当key不存在时,新增键值对,并且将新增的value返还给你
    
    
    
    
    
    
    # dict.update()
    # dic = {'name': 'alex', 'age': 84}
    # d = {'hobby':'rap'}
    # dic.update(d)
    # print(dic)  # {'name': 'alex', 'age': 84, 'hobby': 'rap'}可以进行添加
    # dic.update(name='egon')
    # print(dic)  # {'name': 'egon', 'age': 84}可以直接进行修改
    # dic.update(hobby = 'rap')
    # print(dic)  # 也可以像这样直接添加
    
    
    
    
    
    
    # 循环
    # dic = {'name': 'alex', 'age': 84}
    # for i in dic:
    #     print(i)
    
    
    # ------------------------------------------------字典总结------------------------------------------------
    '''
    可变
    可以存放多个值
    无序
    
    '''
  • 相关阅读:
    cmlink日本卡更换手机后只能打电话不能上网的解决方法
    管理后台模板
    Mysql Json、JsonArray 指定属性查询
    101ESP8266转RS485/RS232/TTL控制板安装IDE开发软件
    003STM32F407+EC200基本控制篇(阿里云物联网平台)在阿里云物联网平台上一型一密动态注册设备(STM32F407+EC200)
    805Air724UG模块(4G全网通GPRS开发)微信小程序扫码绑定Air724,并通过MQTT实现远程查看摄像头图像(自建MQTT服务器)
    4Air724UG模块(4G全网通GPRS开发)下载DTU固件和入门使用(使用的我的模块看这一节)
    3Air724UG模块(4G全网通GPRS开发)下载DTU固件和入门使用(直接从合宙购买的模组看这节)
    002STM32F407+EC200基本控制篇(阿里云物联网平台)STM32F407+EC200使用MQTT+SSL加密方式接入阿里云物联网平台(不验证服务器证书)
    202CH32V307(RISCV)学习开发以太网例程DNS域名解析
  • 原文地址:https://www.cnblogs.com/asdaa/p/11134534.html
Copyright © 2020-2023  润新知