• python 字典


    一、什么是字典

      字典是一种可变容器模型,且可存储任意类型对象。字典的每个键值对(key->value)用冒号“:”分割,每个键值对之间用逗号“,”分割,整个字典包括在花括号“{}”中

      注意:键必须使用不可变类型即整形、字符串、元组

    二、字典的基本操作

    1.增加

    1 dic = {'name':'tom'}
    2 dic['age'] = 18
    3 print(dic)

    >>> {'name': 'tom', 'age': 18}

    2.修改

    1 dic = {'name':'tom'}
    2 dic['name'] = 18
    3 print(dic)

    >>> {'name': 18}

    3.  .setdefault() 操作

    1 dic = {'name':'tom'}
    2 dic['age'] = 18
    3 print(dic)
    4 
    5 # 键存在则不进行操作,并把原有的值作为返回值;键不存在,则增加
    6 dic.setdefault('age', '34')  
    7 
    8 print(dic)

    >>> {'name': 'tom', 'age': 18}

           {'name': 'tom', 'age': 18}

    4.输出字典的键

    1 dic = {'name':'tom', 'age':'22', 'hobby':'ss'}
    2 print(dic.keys())   #输出字典的键
    3 print(list(dic.keys()))   #以列表的形式输出字典的键
    4 print(list(dic.values())) #以列表形式输出字典键所对应的值

    输出:dict_keys(['name', 'age', 'hobby'])

              ['name', 'age', 'hobby']

              ['tom', '22', 'ss']

    5.字典的更新( .update() )

    1 dic1 = {'name':'tom', 'age':'22', 'hobby':'ss'}
    2 dic2 = {'name':'tom', 'age':'12', 'hobby':'小可爱'}
    3 print(dic1)
    4 dic1.update(dic2)  #把dic2的内容更新到dic1中
    5 print(dic1)

    输出: {'name': 'tom', 'age': '22', 'hobby': 'ss'}

                {'name': 'tom', 'age': '12', 'hobby': '小可爱'}

    6.删除键值对

     1 dic1 = {'name':'tom', 'age':'12', 'hobby':'小可爱'}
     2 dic2 = {'name':'tom', 'age':'12', 'hobby':'小可爱'}
     3 del dic1['name']    #删除指定键值对
     4 print(dic1)
     5 
     6 ret = dic1.pop('age')    #删除指定键值对,并返回键值所对应的值
     7 print(ret)
     8 print(dic1)
     9 
    10 a = dic2.popitem()    #随机删除某个键值对,并以元组方式返回
    11 print(a,dic2)

    输出: {'age': '12', 'hobby': '小可爱'}

          12

          {'hobby': '小可爱'}

          ('hobby', '小可爱') {'name': 'tom', 'age': '12'}

    7.清空和删除整个字典

    1 dic = {'name':'tom', 'age':'12', 'hobby':'小可爱'}
    2 dic.clear()   #清空字典
    3 print(dic)
    4 
    5 del dic   # 删除整个字典

    输出结果: {}

    8.字典的嵌套

     1 dic_nate = {
     2     "欧美":{
     3         "www.123.com":["质量一般","免费"],
     4         "www.234.com":["质量一般","高清"],
     5         "www.345.com":["质量优","收费,屌丝绕路"]
     6     },
     7     "日韩":{
     8         "www.456.com":["质量优","免费"]
     9     },
    10     "大陆":{
    11         "www.567.com":["质量差","网速慢"]
    12     }
    13 }
    14 
    15 dic_nate['欧美']["www.234.com"][1] = '垃圾'  # 修改键值
    16 print(dic_nate)

    输出结果:

      {'欧美': { 'www.123.com': ['质量一般', '免费'],

            'www.234.com': ['质量一般', '垃圾'],

            'www.345.com': ['质量优', '收费,屌丝绕路']},

      '日韩': {'www.456.com': ['质量优', '免费']},

      '大陆': {'www.567.com': ['质量差', '网速慢']}}

    9.字典的遍历

    1 dic = {'name':'tom', 'age':'12', 'hobby':'小可爱'}
    2 
    3 for n in dic:
    4     print(n) #输出键
    5     print(n, dic[n]) #输出键和键值

    输出:name

         name tom

         age 

         age 12

         hobby

         hobby 小可爱

    1 dic = {'name':'tom', 'age':'12', 'hobby':'小可爱'}
    2 
    3 for n,m in dic.items():  #用两个变量分别接收键和键值
    4     print(n, m)

    输出结果:name tom

         age 12

           hobby 小可爱

    1 a = eval(a)    #转换成字典类型









  • 相关阅读:
    (Problem 4)Largest palindrome product
    (Problem 3)Largest prime factor
    (Problem 2)Even Fibonacci numbers
    (Problem 1)Multiples of 3 and 5
    Ural 1086
    Ural 1319
    Ural 1149
    Ural 1079
    Ural 1068
    2016/04/06
  • 原文地址:https://www.cnblogs.com/ss-long/p/10288793.html
Copyright © 2020-2023  润新知