python中字典常用函数

字典常用函数

  1. cmp(dict1,dict2) (已删除,直接用>,<,==即可)

    • 如果两个字典的元素相同返回0,如果字典dict1大于字典dict2返回1,如果字典dict1小于字典dict2返回-1。

    • 先比较字典的长度,然后比较键,最后比较键对应的值

      dict1 = {'Name': 'Zara', 'Age': 7};
      dict2 = {'Name': 'Mahnaz', 'Age': 27};
      dict3 = {'Name': 'Abid', 'Age': 27};
      dict4 = {'Name': 'Zara', 'Age': 7};
      print ("Return Value : %d" %  cmp (dict1, dict2))
      print ("Return Value : %d" %  cmp (dict2, dict3))
      print ("Return Value : %d" %  cmp (dict1, dict4))
      # result
      Return Value : -1
      Return Value : 1
      Return Value : 0
      
  2. len(dict2)

    • 计算键的个数
  3. str(dict3)

    • 在Python中,使用str()函数可以将字典转换为字符串表示形式。这对于需要将字典的内容以字符串的形式进行输出、保存或传递给其他函数等情况非常有用。

      当你调用str()函数并传入一个字典作为参数时,它会返回一个包含字典内容的字符串。这个字符串的格式与字典结构相似,通常以花括号{}表示,每个键值对用冒号:连接,并且键值对之间用逗号,分隔。

      具体示例如下:

      my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
      my_str = str(my_dict)
      print(my_str)
      

      输出结果:

      {'name': 'John', 'age': 30, 'city': 'New York'}
      

      这样,你就可以在需要将字典转换为字符串的场景中使用str()函数了。比如,你可以将字典保存到文件中,或者将其作为参数传递给需要接受字符串作为输入的函数等。

  4. dict4.clear()

    • 用于删除字典内所有元素

      tinydict = {'Name': 'Zara', 'Age': 7};
      
      print ("Start Len : %d" %  len(tinydict))
      tinydict.clear()
      print ("End Len : %d" %  len(tinydict))
      
  5. dict5.copy()

    • 返回一个字典的浅复制。

      dict1 =  {'user':'runoob','num':[1,2,3]}
      
      dict2 = dict1          # 浅拷贝: 引用对象
      dict3 = dict1.copy()   # 浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用
      
      # 修改 data 数据
      dict1['user']='root'
      dict1['num'].remove(1)
      
      # 输出结果
      print(dict1)
      print(dict2)
      print(dict3)
      # result
      {'num': [2, 3], 'user': 'root'}
      {'num': [2, 3], 'user': 'root'}
      {'num': [2, 3], 'user': 'runoob'}
      #实例中 dict2 其实是 dict1 的引用(别名),所以输出结果都是一致的,dict3 父对象进行了深拷贝,不会随dict1 修改而修改,子对象是浅拷贝所以随 dict1 的修改而修改。
      
  6. dict6.fromkeys(seq[, value])

    • 用于创建一个新字典(不对dict6进行修改),以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值

    • seq – 字典键值列表。

    • value – 可选参数, 设置键序列(seq)的值,默认为 None。

      seq = ('Google', 'Runoob', 'Taobao')
      
      # 不指定默认的键值,默认为 None 
      thisdict = dict.fromkeys(seq)
      print ("新字典为 : %s" %  str(thisdict))
      
      # 指定默认的键值
      thisdict = dict.fromkeys(seq, 10)
      print ("新字典为 : %s" %  str(thisdict))
      # result
      新字典为 : {'Google': None, 'Taobao': None, 'Runoob': None}
      新字典为 : {'Google': 10, 'Taobao': 10, 'Runoob': 10}
      
  7. dict7.get(key,[,value])

    • key – 字典中要查找的键。

    • value – 可选,如果指定键的值不存在时,返回该默认值。

    • 返回指定键的值,如果键不在字典中返回默认值 None 或者设置的默认值。

      tinydict = {'Name': 'Runoob', 'Age': 27}
      
      print ("Age : %s" %  tinydict.get('Age'))
      
      # 没有设置 Sex,也没有设置默认的值,输出 None
      print ("Sex : %s" %  tinydict.get('Sex'))  
      
      # 没有设置 Salary,输出默认的值  0.0
      print ('Salary: %s' % tinydict.get('Salary', 0.0))
      # result
      Age : 27
      Sex : None
      Salary: 0.0
      
    • get()方法和dict[key]的区别

      get(key) 方法在 key(键)不在字典中时,可以返回默认值 None 或者设置的默认值。

      dict[key] 在 key(键)不在字典中时,会触发 KeyError 异常。

    • 对嵌套字典的使用

      tinydict = {'RUNOOB' : {'url' : 'www.runoob.com'}}
      
      res = tinydict.get('RUNOOB', {}).get('url')
      # 输出结果
      print("RUNOOB url 为 :  %s" % str(res))
      # result
      RUNOOB url 为 :  www.runoob.com
      
  8. dict8.has_key(key)

    • 用于判断键是否存在于字典中,如果键在字典 dict 里返回 true,否则返回 false
  9. dict9.items()

    • 以列表返回可遍历的(键, 值) 元组数组。

      dict1 = {
       'a':1, 'b':2
      }
      print(dict1.items())
      # result
      dict_items([('a', 1), ('b', 2)])
      
  10. dict10.keys()

    • 以列表返回一个字典所有的键。

      dict1 = {
       'a':1, 'b':2
      }
      print("%s" % dict1.keys())
      print("%s" % list(dict1.keys()))
      # result
      dict_keys(['a', 'b'])
      ['a', 'b']
      
  11. dict11.setfault(key,default=None)

    • key – 查找的键值。

    • default – 键不存在时,设置的默认键值。

    • 如果字典中包含有给定键,则返回该键对应的值,否则返回为该键设置的值。

      dict1 = {
       'a':1, 'b':2
      }
      print(dict1.setdefault('s',"no"))
      print(dict1)
      # result
      no
      {'a': 1, 'b': 2, 's': 'no'}
      
  12. dict12.update(tinydict)

    • 将字典tinydict更新到dict12中:

      如dict12中没有的,tinydit中有的,就直接将键值对添加到dict12中,如果tinydict中有的,dict12中也有,则将dict12中所对应的键的值改为tinydict中的值

      dict1 = {
       'a':1, 'b':2
      }
      dict2 = {
       'a':100, 'c':3
      }
      dict1.update(dict2)
      print(dict1)
      #result
      {'a': 100, 'b': 2, 'c': 3}
      
  13. dict13.values()

    • 以列表返回字典中的所有值。

      tinydict = {'Name': 'Runoob', 'Age': 7}
      
      print ("Value : %s" %  tinydict.values())
      print ("Value : %s" % list(tinydict.values()) )
      # result
      Value : dict_values(['Runoob', 7])
      Value : ['Runoob', 7]
      
  14. dict14.pop(key,[,default])

    • 删除字典给定键 key 所对应的值,返回值为被删除的值。

    • key - 要删除的键

    • default - 当键 key 不存在时返回的值

    • 返回被删除的值:

      • 如果 key 存在 - 删除字典中对应的元素
      • 如果 key 不存在 - 返回设置指定的默认值 default
      • 如果 key 不存在且默认值 default 没有指定 - 触发 KeyError 异常
      site= {'name': '菜鸟教程', 'alexa': 10000, 'url': 'www.runoob.com'}
      
      element = site.pop('name')
      
      print('删除的元素为:')
      print(element)
      print('字典为:')
      print(site)
      # result
      删除的元素为:
      菜鸟教程
      字典为:
      {'url': 'www.runoob.com', 'alexa': 10000}
      
  15. dict15.popitem()

    • 返回并删除字典中的最后一对键和值。

    • 如果字典已经为空,却调用了此方法,就报出 KeyError 异常。

      site= {'name': '菜鸟教程', 'alexa': 10000, 'url': 'www.runoob.com'}
      pop_obj=site.popitem()
      print(pop_obj)
      print(site)
      # result
      ('url', 'www.runoob.com')
      {'name': '菜鸟教程', 'alexa': 10000}
      

你可能感兴趣的:(python,python,网络,开发语言)