• python数据类型(字典dictionary1)


    字典(dictionary)

           字典的含义和表示都与其语义相似,就像我们小时候查找汉字,可以通过拼音字母(或笔画)进行检索。我们可以自己定义Python中的字典名字,然后通过这个名字查找到对应的数值。其中的名字叫作“键(key)”,对应的数值简称“值(value)”,所以字典也称“键值对”。需要注意的是,字典没有顺序一说,所有的值仅能用键获取。
     
           简而言之,字典被看作无序的键值对或有名字的元素列表。
     
    一、字典的创建与使用
           字典的内容放在花括号内,键值对以英文冒号连接,不同的键值对以英文逗号隔开。
    d=dict()    #创建一个空字典
    d2={}       #创建一个空字典
    d3={'name':'Jack','age':18}
    print(d3['name'])   #'Jack'  获取键的值
    

      

    注意:1、每次输出字典中键值对的顺序可能是不同的。
               2、字典里的key不允许重复,如果key重复了,后一个key对应的值会覆盖前一个值。
               3、字典里的key只能是不可变数据类型(可哈希),一般使用字符串,value可以是任意数据类型。
     
            字典有键与值的区分,那么该如何获取键与值的内容呢?为此Python提供了三个方法,分别是keys()、values()和items()。
    info={'name':'jack',
          'age':18,
          'gender':'male'
          }
    
    print(info.keys())     # 取键
    # dict_keys(['name', 'age', 'gender'])
    
    print(info.values())   # 取值
    # dict_values(['jack', 18, 'male'])
    
    print(info.items)    # 取键值对
    # dict_items([('name', 'jack'), ('age', 18), ('gender', 'male')])
    
    for k,v in info.items():   # 遍历键值对
        print(k, v)
    # name jack
    # age 18
    # gender male
    

      

     二、字典的增删改查
     
           1.增加
              如果在使用 字典名['键']=数据 时,“键”在字典中不存在,那么就会新增这个元素。
    student={"name":"Jack"}
    student['age']=20   #为不存在的键赋值就是添加元素
    print(student)   #{"name":"Jack","age":20}
    

      

           2.删除
              对字典进行删除操作,有以下几种:
    • pop(键) : 删除字典里指定的键值对,返回对应的值。如键不存在,报错。
    • popitem():删除字典里随机一组键值对,返回是被删除元素的键值对(元组)
    • del 字典名[键]:删除指定的键值对,如键不存在,报错。
    • clear():清空字典
    student={'name':'Jack','age':20,'gender':'female'}
    s=student.pop('age')
    print(s)    #  20
    s1=student.popitem()   #随机删除一组键值对
    print(s1)   #  ('gender', 'female')
    del student['name']   #删除指定的键值对
    

      

           3.修改

              字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改。

    student={'name':'Jack':'age':18}
    print('修改之前的字典是%s:'%student)
    student['age']=20   #为已存在的key赋值就是修改
    print('修改之后的字典是%s:'%student)
    

         运行结果:

    修改之前的字典为{'name':'Jack','age':18}
    修改之后的字典为{'name':'Jack,'age':20}
    

     

           4.查询
    student={'name':'Jack':'age':18}
    print(student['name'])   #'Jack'
    print(student['sex'])   #获取不存在的key,会报错
    
    print(student.get('age'))  # 18
    print(student.get('sex'))  #获取不存在的key,获取到空的内容,不报错
    print(student.get('sex','男'))  #获取不存在的key,可以提供一个默认值。
    

      注意:获取默认值不会修改字典内容。

           5.update方法的使用
     
              列表可以使用extend方法将两个列表合并成为一个列表。
              字典可以使用update方法将两个字典合并成为一个字典。
    s1={'name':'Jack','age':20}
    s2={'gender':'female'}
    s1.update(s2)
    print(s1)  #  {'name': 'Jack', 'age': 20, 'gender': 'female'}
    print(s1+s2)  #报错,字典间不支持加法运算
    

      

     三、字典推导式
    student = {'name': 'Jack', 'age': 18}
    s = {v: k for k, v in student.items()}
    print(s)  # {'Jack': 'name', 18: 'age'}

  • 相关阅读:
    PHP中使用Redis
    找回Xcode7的代码折叠功能
    使用 Kingfisher 处理网络图片的读取与缓存
    Swift的两个小窍门
    斯坦福公开课:Developing IOS 8 App with Swift(1-3)心得体会
    What is the relationship between Xcode, Swift and Cocoa?
    C++中static用法总结
    C++中const用法总结
    数据库概念要点
    虚拟内存地址和物理内存地址
  • 原文地址:https://www.cnblogs.com/shixiaoxun/p/14370665.html
Copyright © 2020-2023  润新知