zoukankan      html  css  js  c++  java
  • 字典

    字典 --dict

    dict = {键:值},存储数据字典的查找快一些

    **字典是无序,可变的 **

    定义一个字典:

    dic = {'01':'邓新','2':'情哥哥','14':'小冯','98':'啦'}
    # 字典中逗号分隔叫做一个元素 "01"(键):邓新(值)  -- 键值对
    print(dic)
    '''
    字典的键:
        可哈希的 -- 不可变的数据类型  -- 避免哈希冲突使用了 开放寻址法
        不可哈希的 -- 可变的数据类型
        要求唯一  -- 如果有重复的后边值的将前面的值覆盖
    字典的值:
        可以任意
    '''
    
    

    增:

    dic = {"11":[1,2,3],'啦': '89'}
    dic[11] = '小米'	# 暴力添加
    print(dic)
    dic.setdefault(99,'华为')	# 99键 华为值
    # 1.先去字典中通过99这个键去查有没有值
    # 2.如果是值	就不添加
    # 3.如果是None	 就添加		返回的是添加的值
    

    删:

    del dic	#删除整个字典
    del dic[键]	#通过键删除
    print()
    
    print(dic.pop(99))	# pop 通过指点键删除	pop也有返回值 返回的是被删除的值
    
    dic.clear()	#清空
    print(dic)
    
    dic.popitem()	#随机删除   python3.6 删除最后一个    python3.5   随机删除
    print(dic)
    

    改:

    dic1 = {'33':'jj','44':'TT'}
    dic2 = {'33':'gg','66':'pp'}
    dic1.update({'33':'gg','66':'yy'})	#更新		被更新的内容如果在     要更新的内容中那值就会覆盖
    #两个字典中,都没有一样的就合并
    dic1.update(dic2)
    
    dic2['33'] = '啦' #字典的增    是字典中没有的时候才叫增,如果字典中键存在的时候才叫改
    

    查:

    dic1 = {'33':'jj','44':'TT'}
    print(dic1['33'])  #通过键查找  如果键不存在就报错
    print(dic1.get('33'))  #通过键查找   键不存在不报错  返回None
    print(dic1.setdefault('33'))   #不存在返回None
    

    其他操作:

    dic1 = {'33':'jj','44':'TT'}
    for i in dic1:
        print(i)
    
    for i in dic1:
        print(dic1.get(i))
    
    for i in dic1.keys:
        print(dic1.get(i))
        
     print(dic1.keys())		# 高仿列表 dic—_keys(['33','66'])	   不能使用下标
    
    print(dic1.values()) 	# 高仿列表 dic—_values(['jj','TT'])	   不能使用下标
    
    # 取出键值
    print(dic1.items())  # 取出键值 每部分用元组包起来
    

    解构:

    a,b,c = '4','5','6'   ['4','5','6']  ('4','5','6')	{'1':8,'2':9,'3':0}		True,False,True
    print(a,b,c)
    
    for k,v in dic1.items():
        print(k,b)
    
    a,_,b = (3,4,5)
    print(a,b)   # 等号后边的值和前面的变量名要一一对应
        
    #面试题
    a = 10
    b = 20
    a,b = b,a
    print(a,b)
    

    字典的嵌套:

    dic = {'汪峰':{'1':'la','2':'啦'},'陈冠希':{'张柏芝':'喜剧之王','阿娇':'千机变'}}
    dic1 = dic['陈冠希']
    print(dic1['张柏芝'])
    

    补充:

    dic2 = {'33':'gg','66':'pp'}
    ret1 = dic2.get('99':'啦啦啦')
    ret2 = dic2.pop('99':'没有')
    print(ret1,ret2)
    
    #坑:
    dic3 = dict.formkeys([1,2,3,4,5],[1,2,3])	
    # 第一个是键 要是可迭代的对象
    # 第二个是值,值是无所谓	是因为创建的新字典的值用的都是一个 	值是一个可变数据类型
    print(dic3)
    dic3[3] = '啦啦啦'
    

    集合

  • 相关阅读:
    Python的包管理工具Pip
    C语言移位运算符
    malloc函数具体解释
    HDU
    Java中Scanner的使用方法
    DOS call 中的%cd%,当前文件夹演示
    没有找到MSVCR100.dll解决方法
    什么是响应式表格(响应式表格和普通表格的区别)
    Redis和Memcache和MongoDB简介及区别分析(整理)
    GIT将本地项目上传到Github(两种简单、方便的方法)
  • 原文地址:https://www.cnblogs.com/fengqiang626/p/11142197.html
Copyright © 2011-2022 走看看