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 copydata = {
"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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。