• Python3-字典


    字典
    一、定义:
            是另一种可变容器模型,可存储任意类型对象;(也被称为关联数组或哈希表;存储的数据是没有顺序的)
            注意:
                ·键名必须是唯一的,而且键名不可修改,可以联想到新华字典,在传递参数用(**arg)来保存字典
                ·字典值可以是任意的Python对象,既可以是标准的对象,也可以是用户定义的
                ·不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
                ·键必须不可变,所以可以用数字、字符串、元组充当
     
    二、字典的增、删、改、查
        ①增
            示例1:dict1 = {"info":1}
                  dict["info"] = "hello world"
                  print(dict1)
            结果:{'info': 'hello world'}
     
            示例2:dict1 = {'info': 'hello world'}
                  dict1["sakura"] = "python"
                  print(dict1)
            结果:{'info': 'hello world', 'sakura': 'python'}
     
            注意:·如果存在键值对,在该键下添加新元素,会把旧元素替换(修改元素)(如示例1)
                  ·如果不存在的键,则会在该字典里新插入一对键值对(如示例2)
        
        ②删
            示例:dict1 = {"info":1,"sakura":"hello world"}
                  del dict1["sakura"]
                  print(dict1)
            结果:{"info":1}
     
            示例:dict1.clear()
                  print(dict1)
            结果:{}
     
            示例:del dict1
                  print(dict1)
            结果:NameError: name 'dict1' is not defined
     
        ③改
            字典添加新内容的方法是增加新的键值对,修改或删除已有键值对
     
        ④查
            ·获取字典内元素方法(通过键(key)来获取对应的值(value))
            ·通过keys()内置函数来获取所有的键
                示例:dict1 = {"info",1,"sakura":"hello"}
                      print(dict1.keys())
                结果:dict_keys(['info', 'sakura'])
     
            ·通过values()内置函数来获取所有的值
                示例:dict1 = {"info",1,"sakura":"hello"}
                      print(dict1.values())
                结果:dict_values([1, 'hello'])
     
    三、内置函数
        len(dict):计算字典元素个数,即键的总数
     
      str(dict):输出字典,以可打印的字符串表示。
     
      type(variable):返回输入的变量类型,如果变量是字典就返回字典类型。
     
      dict.clear():删除字典内所有元素
     
      dict.copy():返回一个字典的浅复制
     
      dict.fromkeys(iterable, value=None):创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
            示例:
     1 i1 = "a"
     2 i2 = ["d",1]
     3 i3 = ("c","v")
     4 i4 = {"info":"abc","name":"sakura"}
     5 v1 = dict.fromkeys(i1,"add")
     6 v2 = dict.fromkeys(i2,"change")
     7 v3 = dict.fromkeys(i3,"change")
     8 v4 = dict.fromkeys(i4)
     9 v5 = dict.fromkeys(i4,"valueChange")
    10 print(v1)
    11 print(v2)
    12 print(v3)
    13 print(v4)
    14 print(v5)
            结果:  
    1 {'a': 'add'}
    2 {1: 'change', 'd': 'change'}
    3 {'v': 'change', 'c': 'change'}
    4 {'info': None, 'name': None}
    5 {'info': 'valueChange', 'name': 'valueChange'}
            注意:
                ·该方法用于创建一个新的字典,并以可迭代对象中的元素分别作为字典中的键,且所有键对应同一个值,默认为None
                ·iterable:用于创建新的字典的键的可迭代对象(字符串、列表、元组、字典),所以它的值不能是数值型(int、float)否则会报错
     
      dict.get(key,default=none):返回指定键的值,如果值不在字典中返回default值
     
      key in dict:如果键在字典dict里返回true,否则返回false
     
      dict.items():以列表返回可遍历的(键, 值) 元组数组
            示例:i1 = {"info":"abc","name":"sakura"}
                  result = i1.items()
                  print(result)
            结果:dict_items([('info', 'abc'), ('name', 'sakura')])
     
      dict.keys():返回一个迭代器,可以使用 list() 来转换为列表
            示例:i1 = {"info":"abc","name":"sakura"}
                  result = i1.keys()
                  print(result)
            结果:dict_keys(['info', 'name'])
     
      dict.setdefault(key,default=none):和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
     
      dict.update(dict2):把字典dict2的键/值对更新到dict里
     
      dict.values():返回一个迭代器,可以使用 list() 来转换为列表
            示例:i1 = {"info":"abc","name":"sakura"}
                  result = i1.values()
                  print(result)
            结果:dict_values(['abc', 'sakura'])
     
      pop(key[,default]):删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
     
      d.popitem():随机返回并删除字典中的一对键和值(一般删除末尾对)。
     
  • 相关阅读:
    话说地址栏的URL的最大长度
    程序员,我拿什么来拯救自己
    把女友升级为老婆的时候发生的BUG
    一个精典asp程序引发的错误引起的思考
    [转]提高 Web Service 数据传输效率的基本方法
    整理发布html的select控件实用js操作
    asp.net简单实现导出excel报表
    c#简单实现生成csv文件
    利用sql server直接创建日历
    jQuery学习笔记:效果
  • 原文地址:https://www.cnblogs.com/DemonKnifeGirl/p/12997170.html
Copyright © 2020-2023  润新知