zoukankan      html  css  js  c++  java
  • 第九讲:字典

    字典

    说明:字典是可变容器,可以存储任何类型对象,使用键-值(key-value)存储,具有极快的查找速度。键是唯一的,值可以取任何数据类型

    1、创建字典:

    dict={}    #创建空字典

    dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

    2、(查)访问字典的值:

    dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
    print ("dict['Name']=",dict['Name'])
    print ("dict['Age']=",dict['Age'])

    运行结果:
    dict['Name']= Zara
    dict['Age']= 7

     

    3、(改)修改字典的值:

    dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
    dict['Age']=8         #修改键的值
    print ("dict['Age']=",dict['Age'])
    dict['school']='XINDONGFANG'       #增加新的键值
    print (dict)

    运行结果:
    dict['Age']= 8
    {'Name': 'Zara', 'Age': 8, 'Class': 'First', 'school': 'XINDONGFANG'}

    4、(删)删除字典的值

    • 删除字典的元素
    • 清空字典
    • 删除字典
    dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
    
    del dict['Name']      #删除字典元素
    print (dict)
    dict.clear()        #清除字典
    print (dict)
    del dict          #删除字典
    print (dict)

    运行结果:
    {'Age': 7, 'Class': 'First'}
    {}
    <class 'dict'>

    5、遍历字典:分别遍历字典的key,value,items:

    #遍历key值
    for key in dict.keys():
        print (key)
    print ('--'*10)
    
    #遍历value值
    for value in dict.values():
        print (value)
    print ('--'*10)
    
    #遍历key和value值
    for key,value in dict.items():
        print (key+'='+str(value))

    运行结果:
    Name
    Age
    Class
    --------------------
    Zara
    7
    First
    --------------------
    Name=Zara
    Age=7
    Class=First

    6、判断key是否存在(key值唯一):

    方法一:通过 in 判断key是否存在

    dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
    print
    ('Name1' in dict)

    运行结果:
    False

    注意:python3没有has_key()方法,用in代替 

    方法三:get()方法判断key是否存在,key不存在,返回None,或指定的value值

    dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
    print (dict.get('Name')) print (dict.get('Name2',-1))

    运行结果:
    Zara
    -1


    7、字典的排序:sored(key,reverse),reverse默认是False,升序排序;如reverse=True,为降序排序

    •  sored()默认是对字典的键,从小到大排序:
    dict1 = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
    dict2=sorted(dict1)
    print (dict2)

    运行结果:
    ['Age', 'Class', 'Name']

    • 对字典的键反向排序:
    dict1 = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
    dict2=sorted(dict1.keys(),reverse=True)
    print (dict2)
    • 对字典的值排序:
    dict1={'a':2,'e':3,'f':8,'d':4}
    list1 = sorted(dict1.values(),reverse=True)
    print (list1)

    运行结果:
    [8, 4, 3, 2]

    • 用items()函数  对字典的键和值进行排序: 
    dict1={'a':2,'e':3,'f':8,'d':4}
    print (dict1.items())
    list1=sorted(dict1.items(),key=lambda x:x[0])    #按键key进行排序
    print (list1)
    list2=sorted(dict1.items(),key=lambda x:x[1])    #按键value进行排序
    print (list2)

    运行结果:
    dict_items([('a', 2), ('e', 3), ('f', 8), ('d', 4)])
    [('a', 2), ('d', 4), ('e', 3), ('f', 8)]
    [('a', 2), ('e', 3), ('d', 4), ('f', 8)]

  • 相关阅读:
    vue动态绑定class的几种方式
    寒假阅读笔记之《人月神话》
    人月神话阅读笔记1
    寒假阅读笔记之《构建之法》2
    寒假阅读笔记之《构建之法》
    家庭记账本APP(7)
    家庭记账本APP(6)
    家庭记账本APP(5)
    家庭记账本APP(4)
    家庭记账本APP(3)
  • 原文地址:https://www.cnblogs.com/wenxiacui/p/10964428.html
Copyright © 2011-2022 走看看