1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python学习笔记:数据类型之字典(dictionary)

python学习笔记:数据类型之字典(dictionary)

时间:2019-12-05 15:19:22

相关推荐

python学习笔记:数据类型之字典(dictionary)

字典是一种可变容器模型,且可存储任意类型对象。字典由键值(对)构成,格式如:{ key1:value1, key2:value2......}键:唯一的,即key:value1和key: value2不可能同时存在键:必须是不可变的,如:字符串,数字或元组,不能是list等类型值:可以取任何数据类型

一、创建字典

一般两种方法:

(1)方法1:使用python标准函数dict()

(2)方法2:直接用 { }

1. 创建空字典

d1=dict()d2={}

2. 创建非空字典

pairs=[("cat",5),("cow",98),("dog",12)]d1=dict(pairs) #output:{"cat":5,"cow":98,"dog":12}d2={"cat":10,"cow":100,"dog":9}

二、字典操作

2.1. 单个字典的操作

len(d):返回字典d的键值对数d.copy():创建字典d的浅拷贝d.clear():删除字典d的全部键值对for key in d:遍历字典d中的全部键for value in d.values():遍历字典d中的全部值for entry in d.items():遍历字典d中的全部条目(输出为元祖的形式)

d1={1:[1,2,3,4,5],2:"abdefg"}print(lend(d)) #output: 2d2={1:"a"}d3=d2.copy(d2)d2[2]="b"print(d2) #output:2print(d3) #output:1d2.clear() #now d2 is an empty dictionaryd={1:"a",2:"b"}for key in d:print(key,d[key]) #output: 1 "a" 2 "b"for value in d.values():print(value) #output:"a" "b"for entry in d.items():print(entry) #output: (1,"a") (2,"b")

2.2 字典和键的操作

key in d:判断字典d中是否有键为keykey not in d:判断字典d中是否没有键为keyd[key]:返回字典d中键为key的值,若键为key不存在引发KeyErrord[key]=value:对字典d赋值key-value键值对,若key已存在,则修改其值为value,若不存在,添加键值对d.get( key [,default] ):获取字典d中键为key的值,若key键不存在,则返回default值,若default未定义,此时返回Nonedel d[key]:删除字典d中键为key的键值,若key不存在,引发KeyErrord.pop(key,[default]):删除字典d中键为key的值,若key不存在,返回default值,若default未定义,此时返回Nonemin(d, key=d.get)或max(d, key=d.get):获取字典d中值最小/大的键,若d为空字典,引发ValueError

d = { 1:"a", 2:"b" }print(0 in d) # Falseprint(1 in d) # Trueprint("a" in d) # Falseprint(0 not in d)# Trueprint(1 not in d)# Falseprint("a" not in d) # Trueprint(d[1]) # "a"print(d[3]) # crash! KeyErrord = { 1:"a", 2:"b" }d[1]=42print(d[1]) # 42d = { 1:"a", 2:"b" }print(d.get(1)) # "a"print(d.get(1,42)) # "a"print(d.get(0)) #Noneprint(d.get(0,42)) #42d = { 1:"a", 2:"b" }print( 1 in d) #Truedel d[1]print( 1 in d) #Falsedel d[1] #crash! KeyError

2.3 两个字典的操作

d1.update(d2):更新字典d1,将字典d2中的键值对添加到字典d1中。如果字典d1中的某些键也在字典d2中,则字典d1中这些键的值修改为字典d2中这些键的值

d1 = { 1:"a", 2:"b" }d2 = { 2:"c", 3:"d" }d1.update(d2)d2[4] = "e"print(d1) # {1:"a",2:"c",3:"d"}print(d2) # {2:"c",3:"d",4:"e"}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。