数据结构论坛

首页 » 分类 » 常识 » python数据结构之字典
TUhjnbcbe - 2025/6/7 17:10:00
公益中科 https://disease.39.net/bjzkbdfyy/180102/5972957.html

字典(Dictionary)是由键和对应值成对组成的数据结构,它通常也被称为映射,或者叫关联数组,也有叫哈希表的。其中值可以取任何数据类型,但键必须是不可变的并且是唯一的,如字符串,数字或元组。

15.1字典声明

字典可通过大括号{}或dict()进行声明。里面没有元素时,为空字典。字典的每个键值key=value对用冒号:分割。字典元素可以同时存在不同的数据类型。键一般是唯一的,如果重复最后的一个键值对会替换后面的,值不需要唯一。

#用{}声明一个空字典

d={}

print(type(d),d)

#用dict()声明一个空字典

d=dict()

print(type(d),d)

#用{}声明月份对应值

months={Jan:1,April:4}

print(months)

#用dict声明星期对应值

weekday=dict({1:Mon,2:Tues})

print(weekday)

15.2增改

字典中的键不可改变,值可以。用dict[key]的方式添加新的内容,如果指定key已经存在,则修改对应的值内容。用dict.setdefault(key,default=None)的方式添加内容,可以key不存在,就添加,否则不做任何操作。

#添加内容

weekday={0:Sun,1:Mon}

weekday[2]=Wed

print(weekday)

#修改内容

weekday[2]=Tues

print(weekday)

#添加内容

weekday.setdefault(3,Wed)

print(weekday)

通过update(dict)方法在字典末尾一次性追加另一个字典的内容。

#添加另外的字典内容

weekday={0:Sun,1:Mon}

weekday.update({2:Tues,3:Wed})

print(weekday)

15.3删除

通过pop(key)删除指定key对应的内容,返回值。如果指定的key不存在,会报错。

#删除字典内容,返回值

student={name:高强,age:16,class:三一班}

v=student.pop(class)

print(student)

print(v)

可通过deldict[key]删除指定key对应的内容,如果key不存在,会报错。deldict删除整个字典,删除后无法再访问。另外可通过clear()清空字典内容。

#删除字典内容,返回值

student={name:高强,age:16,class:三一班}

delstudent[class]

print(student)

#清空内容

student.clear()

print(student)

#删除整个字典,不可再访问

delstudent

15.4访问

通过dict.get(key,default=None)访问字典元素的值,如果指定的key不存在,返回默认值。

也可以通过dict[key]的方式访问字典的元素值,如果key不存在,会报错。

#访问字典元素值

student={name:高强,age:16,class:三一班}

print(student.get(name))

print(student[age])

可用in判断key是否存在,是返回True,否则返回False。notin为相反方式。

#判断是否存在key

weekday={Sun:0,Sat:6,Fri:5}

ifSuninweekday:

weekday.pop(Sun)

print(weekday)

15.5遍历

字典由键值对组成,可用len(dict)计算字典键的个数(既字典长度),可用keys()方法获取字典的所有键内容并遍历,可用values()方法获取字典的所有值内容并遍历。如果要同时获取键和值的所有内容,可用items()方法。

#计算字典长度

weekday={Sun:0,Sat:6,Fri:5}

print(len(weekday))

#遍历所有键内容

forkinweekday.keys():

print(k)

#遍历所有值内容

forkinweekday.values():

print(k)

#同时遍历键和值内容

fork,vinweekday.items():

print(k,v)

15.6转换

开发程序的过程中,经常会用到json数据,而json可与dict字典进行转换。用dumps()函数将dict数据转化成json数据,用loads()函数将json数据转化成dict数据。

#引入json模块

importjson

#字典内容转为json

dict1={name:cow,age:22,gender:male}

json_data=json.dumps(dict1)

print(type(json_data),json_data)

#json内容转为字典

json_data={id:,name:,email:

xx.
1
查看完整版本: python数据结构之字典