python之字典的基本概念,特性及增删改查

1. 字典的基本概念

1.1 字典的定义

字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示

d = {key1 : value1, key2 : value2 }

1.2 字典的创建

键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

一个简单的字典实例:

s = {
    'linux':[100,99,89],
    'python':[90,99,100]
    }
print(s,type(s))

输出结果:
在这里插入图片描述也可如此创建字典:

dict1 = { 'abc': 456 }
dict2 = { 'abc': 123, 98.6: 37 }
print(dict1,type(dict1))
print(dict2,type(dict2))

输出结果:
在这里插入图片描述

1.3 空字典

s = {}
print(s,type(s))

输出结果:
在这里插入图片描述

1.4 工厂函数

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

输出结果:
在这里插入图片描述

1.5 字典的嵌套

student = {
    123:{
        'name':'tom',
        'age':18,
        'score':99

    },
    456:{
        'name':'lily',
        'age':18,
        'score':89
    }

}

print(student)
print(student[123]['score'])

输出结果:
在这里插入图片描述

2. 字典的特性

字典支持成员操作符,支持for循环,遍历字典。
不支持索引、切片,并且字典的重复、连接无意义,因为字典的key值唯一

2.1 成员操作符

成员操作符针对的是key

d = {
    '1':'a',
    '2':'b'
    }
print(d['1'])
print('1' in d)
print('a' in d)

输出结果:
在这里插入图片描述

2.2 for循环

for循环针对的是key

d = {
    '1':'a',
    '2':'b'
    }
for key in d:
    print(key)

输出结果:
在这里插入图片描述

2.3 遍历字典

d = {
    '1':'a',
    '2':'b'
    }
for key in d:
    print(key,d[key])

输出结果:
在这里插入图片描述

3. 字典的增删改查

3.1 字典元素的添加

增加一个元素
如果key值存在 则更新对应的value
如果key不存在 则添加对应的value

service = {
    'http':80,
    'ftp':23,
    'ssh':22
    }
service['https'] = 443
print(service)
service['ftp'] = 21
print(service)

输出结果:
在这里插入图片描述增加多个元素

service = {
    'http':80,
    'ftp':23,
    'ssh':22
    }
service_backup = {
   'tomcat':8080,
    'mysql':3306
}
# 增加多个元素,字典services中增加services_backup
service.update(service_backup)
print(service)

# 字典services中增加dns=53,flask=9000
service.update(dns=53,flask=9000)
print(service)

输出结果:
在这里插入图片描述

3.2 字典元素的删除

del直接删除

service = {
    'http':80,
    'ftp':23,
    'ssh':22
    }
del service['http']
print(service)

输出结果:
在这里插入图片描述

.pop删除指定的key的key-value
若key存在,删除并返回key对应的value值;若不存在,则报错

service = {
    'http':80,
    'ftp':23,
    'ssh':22
    }
item = service.pop('ssh')
print(item)       #item为ssh的value值
print(service)

输出结果:
在这里插入图片描述
.popitem删除最后一个key-value值

service = {
    'http':80,
    'ftp':23,
    'ssh':22
    }
item = service.popitem()
print(item)
print(service)

输出结果:
在这里插入图片描述

清空字典内容:service.clear()

service = {
    'http':80,
    'ftp':23,
    'ssh':22
    }
service.clear()
print(service)

输出结果:
在这里插入图片描述

3.3 字典元素的修改

.setdefault()添加key值
若key值存在,不做修改;若key值不存在,则添加key-value值对

service = {
    'http':80,
    'ftp':23,
    'ssh':22
    }
service.setdefault('http',9090)
print(service)
service.setdefault('oracle',44575)
print(service)

输出结果:
在这里插入图片描述

3.4 字典元素的查看

查看字典中所有的key值

service = {
    'http':80,
    'ftp':23,
    'ssh':22
    }
print(service.keys())

输出结果:
在这里插入图片描述

查看字典中所有的value值

service = {
    'http':80,
    'ftp':23,
    'ssh':22
    }
print(service.values())

输出结果:
在这里插入图片描述
查看字典的key-value对

service = {
    'http':80,
    'ftp':23,
    'ssh':22
    }
print(service.items())

输出结果:
在这里插入图片描述
查看key的value值
.get方法获取指定key值对应的value值
如果key值存在,返回对应的value值;
如果key值不存在,默认返回None,如果需要指定返回值,传值即可

service = {
    'http':80,
    'ftp':23,
    'ssh':22
    }
print(service.get('https'))
print(service.get('https',443))

输出结果:
在这里插入图片描述

发布了60 篇原创文章 · 获赞 6 · 访问量 1370

猜你喜欢

转载自blog.csdn.net/weixin_45775963/article/details/103634233