zoukankan      html  css  js  c++  java
  • 9.数据类型-字典(dict)

    dict-字典

    Python内置了字典:

    dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。

    字典的每个键值 对用冒号 {}

     

    1.格式如下所示:

    d = {key1 : value1, key2 : value2, key3 : value3 }

     

    键必须是唯一的,但值则不必。

    值可以取任何数据类型,但键必须是不可变的,如字符串,数字,元组等

     

    一个简单的字典实例:

     

    2.查询字典

    dict_a={"a":1,2:"b",(1,2):3}

    1.如果用字典里没有的键访问数据,会输出错误如下:

    2.要避免key不存在的错误,有两种办法,

    1.是通过in判断key是否存在:

    dict_a={"a":1,2:"b",(1,2):3}
    if "a" in dict_a:
    print("如果存在,则打印出a['a']:",dict_a["a"])
    else:
    print(None)

    2.是通过dict提供的get()方法,如果key不存在,返回None

    1。如果存在则返回key对应的vaule

    2。如果不存在则返回None

    3。如果不存在也可以返回一个自定义值

     

    3.修改字典

    dict_a={"a":1,2:"b",(1,2):3}

    如果修改字典时,key重复了,则会记录最后一次key的vaule

    dict_a={"a":1,2:"b",(1,2):3}

     

    4.删除字典元素

    1. 能删单一的元素也能清空字典,清空只需一项操作。

    dict_a={"a":1,2:"b",(1,2):3}

    2. 显示删除一个字典用del命令,如下实例:

    3.dict.popitem()

    5.添加元素

    dict_a={"a":1,2:"b",(1,2):3}

    1.直接赋值

    2.使用 :dict_fromkeys(seq)

    如果只有key,则vaule默认是None

    如果写了vaule,则结果是key:vaule

    3.使用 :dict.setdefault(key)

    跟 dict.get() 类似,只不过get()当key不存在时,不会追加

    如果 key 在 字典中,返回对应的值。

    如果不在字典中,则插入 key 及设置的默认值 default,并返回 default ,default 默认值为 None。

    4.更新字典 :dict.update(dict1)

     

    6.dict.key():获取所有的键

     

    7.dict.vaules() :获取所有的值

    8.len(dict):查看字典中key的长度,即有几个key

    9.dict.items(): 生成迭代对象

    10.type(dict): 打印类型

     

     

    实战下:#统计一下每个字母出现的次数,用字典存储

    方法1:
    a = "I am a good boy"
    b = {}
    for i in a:
    if i == " ":
    continue
    b[i]=a.count(i)
    print(b)
    #结果:{'I': 1, 'a': 2, 'm': 1, 'g': 1, 'o': 3, 'd': 1, 'b': 1, 'y': 1}

    方法2:
    a = "I am a good boy"
    b = {}
    for i in range(len(a)):
    if a[i] != " ":
    b[a[i]]=a.count(a[i])
    print(b)
    #结果:{'I': 1, 'a': 2, 'm': 1, 'g': 1, 'o': 3, 'd': 1, 'b': 1, 'y': 1}

    方法3:
    a = "I am a good boy"
    b = {}
    for i in range(len(a)):
    if a[i] != " ":
    if a[i] not in b:
    b.setdefault(a[i],1)
    else:
    b[a[i]] += 1
    print(b)
    #结果:{'I': 1, 'a': 2, 'm': 1, 'g': 1, 'o': 3, 'd': 1, 'b': 1, 'y': 1}
  • 相关阅读:
    音频、摄像机操作
    调用系统相机及摄像机
    图片的放大缩小
    haxm intelx86加速模拟器的安装
    mac eclipse 下安装subclipse
    文件多线程下载实现
    windows与linux之间传输文件
    ZeroMQ接口函数之 :zmq_setsockopt –设置ZMQ socket的属性
    使用C语言在windows下一口气打开一批网页
    Net-SNMP是线程安全的吗
  • 原文地址:https://www.cnblogs.com/leaves-leaves/p/15101635.html
Copyright © 2011-2022 走看看