首页 > 代码库 > python 字典

python 字典

字典:无序、key天生去重,查询效率高

字典方法:
1.clear() 清除字典中所有项
2.get() 访问字典键值
3.items() 将字典中的所有项以列表方式返回,列表中的每一项都表示为(键,值)
4.pop() 获取指定键的值,然后将这个键值对从字典中删除
5.update() 利用一个字典项更新另外一个字典
6.values() 返回字典中的值
7.setdefault 与get方法类似,能在不包含给定键时设定默认值。

定义字典

city = {北京: {东城: {东单: 东方新天地}}}

查询字典

print(city[北京])
{东城: {东单: 东方新天地}}

print(city[北京][东城])
{东单: 东方新天地}

print(city[北京][东城][东单])
东方新天地

查询不存在的key

print(city[上海])
Traceback (most recent call last):
  File "<input>", line 1, in <module>
KeyError: 上海

 

key不存在时,显示0:表示没有这个键,默认返回None

get()
print(city.get(上海,0))
0

setdefault()
print(city.setdefault(上海,0))
0

添加字典键值

添加北京东城王府井百货大楼
city[北京][东城][王府井] = 百货大楼
city
{北京: {东城: {东单: 东方新天地, 王府井: 百货大楼}}}

添加北京西城平安大街南锣鼓巷
city[北京][西城]= {平安大街:南锣鼓巷}
city
{北京: {西城: {平安大街: 南锣鼓巷}, 东城: {东单: 东方新天地, 王府井: 百货大楼}}}

删除字典键值

 

 

修改字典键值

直接修改

city[北京][东城][东单] = 东方广场
city
{北京: {西城: {平安大街: 南锣鼓巷}, 东城: {王府井: 百货大楼, 东单: 东方广场}}}

update,利用一个字典项更新另外一个字典

c1 = {}
c1[东单] = 东方新天地
city[北京][东城].update(c1)
city
{北京: {西城: {平安大街: 南锣鼓巷}, 东城: {王府井: 百货大楼, 东单: 东方新天地}}}

查看字典的键

for i in city.keys():
    print(i)
    
北京

查看字典的值

for i in city.values():
    print(i)
    
{西城: {平安大街: 南锣鼓巷}, 东城: {王府井: 百货大楼, 东单: 东方广场}}

迭代字典,第一种效率高于第二种

第一种

for i in city:
    print(i,\n,\t,city[i])
    
北京 
      {西城: {平安大街: 南锣鼓巷}, 东城: {王府井: 百货大楼, 东单: 东方广场}}

第二种

for i, j in city.items():
    print(i, \n\t, j)

北京 
     {西城: {平安大街: 南锣鼓巷}, 东城: {王府井: 百货大楼, 东单: 东方广场}}

 

python 字典