码迷,mamicode.com
首页 > 编程语言 > 详细

Python基础知识(五)------字典

时间:2019-06-11 11:17:03      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:对象   pre   形式   高仿   默认   default   upd   电脑   表示   

Python基础知识(四)------字典

字典

一丶什么是字典

? dict关键字 , 以 {} 表示, 以key:value形式保存数据 ,每个逗号分隔

? 键: 必须是可哈希,(不可变的数据类型),必须是唯一的

? 值: 任意数据类型

特点:

? 查询的效率非常高,通过key来查找元素

? 内部使用key来计算一个内存地址(暂时), hash算法,key必须是不可变的数据类型(key 必须是可哈希的数据类型),key必须是不可变的数据类型

? 字典是无序的, python3.6版本以上,默认定义顺序,3.5以下随机显示

二丶字典的使用

####增
    #setdefault('键名','值') 
    #两个含义:
        #1.如果key不存在就执行新增.
        #2.如果key已经存在,就不在新增,就执行查询 
    dic.setdefault('键名','值')
    
    #添加键值
    dic['键名']='值'

    
    

####删
    #pop 通过键,删除,返回被删除的键锁对应的值
    dic.pop('键名') 

    #popitem() 随机删除
    dic.popitem()

    #del dic[键名] #指定的键值对
    del dic['键名']

    #del 删除整个字典
    del dic   # ---> 删除的是内存地址
    
    #clear() 清空字典
    dic.clear()

    
    
    
####改
    #直接修改   
    dic['key']='新值'
    
    #update() 替换修改
    dic.update({'键名':'新值'}) #括号内的字典优先级高

    
    
    
####查
    #直接查询
    dic('键')

    #setdefault('键名') 前提是键已存在的情况,执行查询, 
    dic.setdefault('键名')

    #get('键名','返回的内容')键存在,返回对应的值. 键不存在, 默认返回的None,若指定提示内容,则返回提示内容
    dic.get('键名','键不存在,返回的内容')

    
    

#####字典的使用
    #for 循环字典 ,获取所有的键
    for i in dic:
        print(i)
               
    #dic.keys() 
    # 获取所有的keys  高仿列表,但是没有索引,可迭代.可以根据keys获取值
    a={'a':'1',"b":'2'}
    print(a.keys())
    
    for i in dic.keys():
        print(dic[i])
        
    #dic.values()
    # 获取所有的values,没有索引,可迭代
    a={'a':'1',"b":'2'}
    print(a.values())
    
    for i in dic.values():
        print(i)   
        
    #dic.items() 
    #获取字典汇中的键值对,以元组形式.
    a={'a':'1',"b":'2'}
    print(a.items()) # dict_items([('a', '1'), ('b', '2')])
    
    for i in dic.items()
        print(i)   #-->('a', '1')
        print(type(i)) #<class 'tuple'>
    
    
    
    
####解构  
    #字典  元组   列表  ,字符串 可迭代的都能解构
    a,b,c=(a1,b1,c1) # 必须一一对应
    a,b={    #   解构的是字典的key
        "a":1,
        "b":2,
    }
    
    #字典的结构   
    a={'a':'1',"b":'2'}
    for k,v  in a.itmes():
        print(k,v)  # --->k 对应键, v 对应值
    
    
    
    
####枚举 enumerate(可迭代对象,索引) 同时列出数据和数据下标
    a={'a':'1',"b":'2'} 
    for i,k enumerate(a,1) #第二个参数,默认从0开始
        print(i,k)  # --- i 是索引,  k是键名

三丶字典的嵌套

goods = [{"name": "电脑", "price": 1999},
         {"name": "鼠标", "price": 10},
         {"name": "游艇", "price": 20},
         {"name": "美女", "price": 998},
         ]

#取出美女
print(good[3]['name'])

四丶字典的作用

? 1.字典是存储大量的数据,字典比列表还大

? 2.字典的查找值的时候,方便快捷,快速

? 3.字典能够将数据进行关联

? 4.字典消耗内存大,常用的数据类型:字符串,列表和字典

? ###字典的转换需要借助 json 模块

Python基础知识(五)------字典

标签:对象   pre   形式   高仿   默认   default   upd   电脑   表示   

原文地址:https://www.cnblogs.com/dengl/p/10997505.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!