python中dict是什么类型,python中dict函数

  python中dict是什么类型,python中dict函数

  本文主要详细介绍Python映射类型的dict。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下,希望能帮到你。

  00-1010映射类型—dict list(d)len(d)d[key]d[key]=编辑器中的value eldel[key]key(d)clear()copy()classmethodfromkeys(iterable[,value])from keys()get(key[Default])items()pop(key[,Default])pop item()reversed(d)set Default(key[,Default])update([other])values()d other =other summary

  

目录

  字典可用多种方式来创建:

  使用逗号分隔花括号:中的键:值对: {Jack 3360 4098, Sjoerd 3360 4127}或{40983360 Jack ,41273360 Sjoerd}使用字典派生3360 {},{ x : x * * 2 for x in range(10)} dict _ a={ key : value for key in python for range(2

  List_phone=[(华为,华为),(米,小米),( OPPO , OPPO ),( VIVO , VIVO)]

  dict _ c={ key:的值,list_phone中的值}

  使用类型构造函数3360dictit(),dict ([(foo ,100),( bar ,200)]),dict (foo=100,bar=200)字典所支持的操作:.

  

映射类型 — dict

  返回字典d中使用的所有键的列表。

  

list(d)

  返回字典d中的项数。

  

len(d)

  返回d中的键项,如果映射中不存在该键,将引发KeyError。

  如果字典的一个子类定义了方法__missing__()并且键不存在,d[key]操作将调用这个方法,并将key key作为参数。D[key]然后将返回或抛出由__missing__(key)调用返回或抛出的任何对象或异常。没有其他操作或方法会启动调用__missing__()。如果__missing__()未定义,将引发一个KeyError。missing()必须是一个方法;它不能是实例变量3360。

  类别计数器(字典):

  .def __missing__(self,key):

  .返回0

  c=计数器()

  c[红色]

  0

  c[red]=1

  c[红色]

  一个

  上面的例子显示了集合的部分代码。反向实施。collections.defaultdict使用了另一个不同的__missing__方法

  

d[key]

  将d[键]设置为值。

  p>

  

  

del d[key]

  将d[key] 从d中移除。如果映射中不存在key 则会引发KeyError。

  

  

key in d

  如果d中存在键key 则返回True,否则返回False。

  

  

iter(d)

  返回以字典的键为元素的迭代器。这是iter(d.keys()) 的快捷方式。

  

  

clear()

  移除字典中的所有元素。

  

  

copy()

  返回原字典的浅拷贝

  深copy

  若你想彻底使2个dict完全独立,无论有多少层数据。那就要用python工具包里的一个工具了

  

import copy

  data = {

   "name":"alex",

   "age":18,

   "scores":{

   "语文":130,

   "数学":60,

   "英语":98,

   }

  }

  d2 = data.copy()

  d3 =copy.deepcopy(data)

  d3["scores"]["语文"] = 149

  print(d3)

  print(data)

  

  

  

classmethod fromkeys(iterable[, value ]) fromkeys()

  函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值

  

seq = (Google, Runoob, Taobao)

  thisdict = dict.fromkeys(seq)

  print "新字典为 : %s" % str(dict)

  thisdict = dict.fromkeys(seq, 10)

  print "新字典为 : %s" % str(thisdict)

  """

  新的字典为 : {age: None, name: None, sex: None}

  新的字典为 : {age: 10, name: 10, sex: 10}

  """

  

  

  

get(key[, default ])

  如果key 存在于字典中则返回key 的值,否则返回default。如果default 未给出则默认为None,因而此方法绝不会引发KeyError。

  

  

items()

  

  • 以列表返回视图对象,是一个可遍历的key/value对
  • dict.keys()dict.values()dict.items() 返回的都是视图对象( view objects),提供了字典实体的动态视图,这就意味着字典改变,视图也会跟着变化

  

tinydict = {Name: Runoob, Age: 7}

  print ("Value : %s" % tinydict.items()) # Value : dict_items([(Age, 7), (Name, Runoob)])

  

  

  

keys()

  返回由字典键组成的一个新视图

  dict.keys()dict.values() dict.items() 返回的都是视图对象( view objects),提供了字典实体的动态视图,这就意味着字典改变,视图也会跟着变化

  

a = {"a": 3, "b": 2}

  print(a.keys()) # <class dict_keys>

  

  

  

pop(key[, default ])

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

  

site= {name: 菜鸟教程, alexa: 10000, url: www.runoob.com}

  element = site.pop(name)

  print(删除的元素为:, element)

  print(字典为:, site)

  """

  删除的元素为: 菜鸟教程

  字典为: {alexa: 10000, url: www.runoob.com}

  """

  

  

  

popitem()

  

  • popitem() 方法随机返回并删除字典中的最后一对键和值。
  • 如果字典已经为空,却调用了此方法,就报出KeyError异常。
  • 返回一个键值对(key,value)形式,按照 LIFO(Last In First Out后进先出法)顺序规则,即最末尾的键值对。

  

site= {name: 菜鸟教程, alexa: 10000, url: www.runoob.com}

  pop_obj=site.popitem()

  print(pop_obj)

  print(site)

  

  

  

reversed(d)

  返回一个逆序获取字典键的迭代器。这是reversed(d.keys()) 的快捷方式

  

  

setdefault(key[, default ])

  setdefault() 方法和 get()方法 类似, 如果键不存在于字典中,将会添加键并将值设为默认值。

  

tinydict = {Name: Runoob, Age: 7}

  print ("Age 键的值为 : %s" % tinydict.setdefault(Age, None))

  print ("Sex 键的值为 : %s" % tinydict.setdefault(Sex, None))

  print ("新字典为:", tinydict)

  

  

  

update([other ])

  update() 函数把字典参数 dict2 的 key/value(键/值) 对更新到字典 dict 里

  

tinydict = {Name: Runoob, Age: 7}

  tinydict2 = {Sex: female }

  tinydict.update(tinydict2)

  print ("更新字典 tinydict : ", tinydict)

  

  

  

values()

  返回一个视图对象,dict.keys()、dict.values() 和 dict.items() 返回的都是视图对象( view objects),提供了字典实体的动态视图,这就意味着字典改变,视图也会跟着变化

  

a = {"a": 3, "b": 2}

  print(a.values()) # dict_values([3, 2])

  

  

  

d other

  合并d 和other 中的键和值来创建一个新的字典,两者必须都是字典。当d 和other 有相同键时,other 的值优先。3.9才支持

  

a = {"apple": 3, "banana": 4}b = {"grape": 5, "banana": 8}print(a b)

  

  

d = other

  

  • 用other 的键和值更新字典d ,other 可以是mapping 或iterable 的键值对。当d 和other 有相同键时,other 的值优先。
  • 3.9 新版功能

  

a = {"one": 1, "two": 2, "three": 3}

  a = {"three": 30, "four": 4, "five": 5}

  print(a)

  a = {"apple": 3, "banana": 4}

  b = {"grape": 5, "banana": 8}

  a = b

  print(a)

  """

  {one: 1, two: 2, three: 30, four: 4, five: 5}

  {apple: 3, banana: 8, grape: 5}

  """

  

  

  

总结

  本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注盛行IT软件开发工作室的更多内容!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: