欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

学习Python之路之Python中常见的数据结构三——字典

程序员文章站 2024-03-19 18:26:58
...

一、字典的定义

字典是Python所特有的高级数据结构,它是针对非序列集合而提供的一种数据类型。Python中通过字典实现映射。字典是一个键值对的集合,该集合以键值为索引,同一个键值对应同一个值集合信息

注意:字典信息打印出来的顺序与创建的顺序不同,这是因为Python程序内部对字典元素存储采用了优化,是字典的存储和查询效率更高。

示例【1】:

message = {
    'name': 'tom',
    'age': 18,
    'height': 1.80,
    'weight': 75.5
}
print message
print type(message)

学习Python之路之Python中常见的数据结构三——字典

示例【2】:给空字典赋值

s = {}    #首先定义一个空字典
print type(s)
s = {
    'fentiao': [100, 90, 80],
    'westos': [199, 199, 199]
}
print  s    

学习Python之路之Python中常见的数据结构三——字典

示例【3】将元组类型转换称字典类型

d = dict()
print d, type(d)
d = dict(a=1, b=2)
print d, type(d)

学习Python之路之Python中常见的数据结构三——字典

二、字典的特性(只支持成员操作符)

成员操作符:默认是判断键值是否存在,不管值是否存在

示例【1】:

d = dict(a=1, b=2)
print d
print 'a' in d
print 1 in d

学习Python之路之Python中常见的数据结构三——字典

三、字典的增加(直接增加,update,setdefault)

1、直接增加

示例【1】:

d = dict(a=1,b=2)
print d
d['g'] = 10    #在字典d中增加key为g,value为10的一项
print d
d['a'] =10    #给a重新赋值,这次会更新之前a的value值
print d

学习Python之路之Python中常见的数据结构三——字典

2、update

update:如果key值存在,更新value值,如果不存在,添加key-value值

示例【2】:

d = dict(a=1,b=2)
d.update({'a':4,'f':1})    #a值存在,所以会更新a的value值,f不存在,所以会添加f-1这个key值
print d

学习Python之路之Python中常见的数据结构三——字典

3、setdefault

setdefault:如果key值存在,则不做修改,若key值不存在,添加key-value值

示例【3】:

d = dict(a=1,b=2)
d.setdefault('a',10)
print d
d.setdefault('c',10)
print d

学习Python之路之Python中常见的数据结构三——字典

 四、字典的删除(pop,del)

1、pop

pop:弹出指定的key-value值

popitem:清空字典

示例【1】:

d = dict(a=1, b=2)
d.pop('a')
print d
print d
d.popitem()
print d

学习Python之路之Python中常见的数据结构三——字典

2、del

del:从内存中删除key为a的值

示例【2】:

d = dict(a=1, b=2)
del d['a']
print d

学习Python之路之Python中常见的数据结构三——字典

五、字典的修改与查看

示例【1】:

service = {
    'http': 80,
    'mysql': 3306
}
# 查看字典里面所有的key值
print service.keys()
#查看字典里面所有的value值
print service.values()

学习Python之路之Python中常见的数据结构三——字典

示例【2】:遍历

service = {
    'http': 80,
    'mysql': 3306
}
for k,v in service.items():
    print k,'---->',v
for k in service:
    print k ,'---->',service[k]

学习Python之路之Python中常见的数据结构三——字典

示例【3】:

get方法获取指定key对应的value值,若key值存在,返回对应的value值,若key值不存在,默认返回none,如果需要指定的返回值,传值即可

service = {
    'http': 80,
    'mysql': 3306
}
print service.get('http')
print service.get('samba')

学习Python之路之Python中常见的数据结构三——字典