字典(dict),字典的嵌套,集合(set)

1.字典

  1.1 字典是python中唯一的一个具有映射的类型.

  dict = {"键":'值'}      键(key)是必须是不可变的(可哈希的).

                                      值(value)没有要求.

  1.2 不可变的数据类型:int,str,tuble,bool

        不可哈希(可变)的数据类型: list, dict, set(集合).

  1.3 字典的增删改查

    1.3.1 増:

        1) dic["键"] = "值"

        2) dic.setdefault("键","值")  # 1.先去字典中通过'键'查看是否有值.

                          2.如果有值,就不进行添加.

                             3.如果没有就进行添加 返回的就是添加的值.

    1.3.2 删

        

1) del dic          #删除整个字典.

 del dic['']    #通过指定键删除.

2) dic.pop('')      #通过指定键删除,pop具有返回值,返回的是被删除的东西.

3) dic.clear()    #清空

4) dic.popitem() #随机删除  python3.6中删除最后一个,python3.5随机删除.

    1.3.3 改

1) dic.update(dic1)  #update 更新  dic中与dic1相同的键的值,会被替换掉.

2) dic[""] = ""          #字典中没有相同键时是添加,有相同键位时是更换.  

    1.3.4 查

1)print(dic[""])  #通过键位查找 如果键不存在就报错

2)print(dic.get("")) #通过键位查找 如果键不存在不报错,返回None

3)print(dic.setdefault("")) #不存在就返回None

    1.3.5 其他操作

       ###循环打印dic中的键

for  i in dic:                
    print(i)

 

for i in dic.keys():
    print(i)

       ###循环打印dic中的值

for i in dic:
    print(dic.get(i))

 

for i  in dic.values():
    print(i)

       ###循环打印键值

for i in dic.items():
    print(i)
 for i in dic:
     print(i,dic[i])

   keys() # 获取所有的键 高仿列表
   values() # 获取所有的值 高仿列表
   item() # 获取键值 以元祖的形式显示

  dic3 = dict.fromkeys([1,2,3,4,5,6,7,8,9,0],[1,2,3])
  第一个参数是键 要是可迭代的对象
  第二个参数是值, 值是无所谓 是因为创建的新字典的值用的都是一个 值是一个可变数据类型

2. 字典的嵌套

dic = {'汪峰':{'光头强':'电锯',
              '葛慧倩':'熊大',
              '国际章':'熊二'},
        '陈冠希':{'张柏芝':'喜剧之王',
               '阿娇':'千机变'},
        '韦小宝':{'建宁':'公主',
               '龙儿':'教主夫人',
               '双儿':{'大双':'榴莲','小双':'椰子'},
               '阿珂':'刺客'}}
dic1 = dic['陈冠希']['阿娇']
print(dic1)
print(dic['韦小宝']['双儿'])
print(dic['韦小宝']['双儿']['小双'])

3.集合(set)

  集合   存储数据    天然去重  无序 不能是用下标

 
原文地址:https://www.cnblogs.com/shicongcong0910/p/10213795.html