• Python中的字典


    Python内置了字典:dict,全称dictionary,使用键-值(key-value)存储,具有极快的查找速度。
    定义一个字典:
    dic = {'name':'jack','age':18,'weight':76,'height':175}
    其中 'name','age','weight','height'是字典中的key,
    key在字典中是唯一的,其数据类型为不可变的对象,如:字符串,整数等,list是可变的对象,就不能做为key来使用

    dict和list比较:
      dict: 查找和插入的速度极快,不会随着key-value的增加而变慢;但是占用的资源比较多,dict是无序的
      list:查找和插入的速度慢,会随着元素的增加时间变长,但是占用的资源较少,list是有序的

    dict的常用方法:
    查找:字典的查找通过key来查找,
    value = dic['name']
    print(value)
    如果key不存在,则会报错 KeyError,可以通过 get()方法来获取,并指定自定义的返回值
    value = dic.get('name','没有这个键')
    print(value)

    上面的代码,使用get()方法,来获取 'name'对应的value 如果'name'存在,则返回对应的value,如果 'name' 不存在,则返回 '没有这个键',如果第二个参数不指定,默认返回 None

    增加内容:
    dic['adress'] = 'beijing'  # 通过 dict[key] = value 的方式来增加元素。注意:如果key存在,则会覆盖对应的value
    print(dic)
    还可以通过setdefault() 方法来增加内容
    dic.setdefault('house_number',888)
    print(dic)

    使用setdefault() 方法,如果只添加key,不给第二个参数赋值,默认为None
    dic.setdefault('house')
    print(dic)
    删除内容 pop() 方法
    dic_pop = dic.pop('adre','没有此键') 
    print(dic_pop)
    print(dic)
    上面的代码:删除指定的key-value,并返回对应的value。如果指定的key不存在, 返回自定义内容,但,如果key不存在,第二个参数没有填写。则会报错

    popitem()方法
    print(dic.popitem()) # 随机删除一对key-value对儿,并返回删除的key-value 以元组的形式返回

    del 方法 无返回值
    del dic['name']
    print(dic)

    clear()方法 清空字典
    dic.clear()
    print(dic)

    修改字典内容,可以通过修改key对应的值来操作
    dic = {'name':'jack','age':18,'weight':76,'height':175}
    dic['name'] = 'tom'
    print(dic)

    update() 方法
    dic_1 = {'name':'jack','age':18}
    dic_2 = {'name':'tom','address':'beijing','age':19,'height':178}
    dic_1.update(dic_2)
    print(dic_1)
    以上代码,将dic_2 的内容更新到 dic_1中去

    字典循环操作
    dic = {'name':'jack','age':18,'weight':76,'height':175}
    for k in dic:
        print(k) # 默认打印字典的key
    for k in dic.keys():
        print(k) # 打印字典的key
    for v in dic.values():
        print(v) # 打印字典中的value
    for k,v in dic.items():
        print('k = %s, v = %s' %(k,v)) # 打印key 和 value

     其中 key() 方法,valuses()方法,以及 items() 方法,返回的数据类型可以当成一个list来使用,但是返回的类型如下:

    print(type(dic.keys()))  # <class 'dict_keys'>
    print(type(dic.values()))  # <class 'dict_values'>
    print(type(dic.items()))  # <class 'dict_items'>



  • 相关阅读:
    python爬虫系列之爬取多页gif图像
    python连续爬取多个网页的图片分别保存到不同的文件夹
    python多线程同步
    python多线程简单例子
    python定时器爬取豆瓣音乐Top榜歌名
    python模拟Get请求保存网易歌曲的url
    python使用get在百度搜索并保存第一页搜索结果
    python爬取某个网页的图片-如百度贴吧
    完全揭秘log file sync等待事件-转自itpub
    两表关联更新
  • 原文地址:https://www.cnblogs.com/hongyu0518/p/9650263.html
Copyright © 2020-2023  润新知