一、python中字典的增加、删除、查看
1.字典的增加-添加
如果字典中没有这个键值对,则直接追加在字典的后面
service = {'http':'80','ftp':'21','ssh':'22'}
service['mycql'] = 3306
print(service)
打印结果
{'http': '80', 'ftp': '21', 'ssh': '22', 'mycql': 3306}
如果字典中由这个键值对,则直接修改这个key值对应的value值
service = {'http':'80','ftp':'21','ssh':'22'}
service['http'] = 443
print(service)
打印结果
{'http': 443, 'ftp': '21', 'ssh': '22'}
添加多个key-value值方法一:
service = {'http':'80','ftp':'21','ssh':'22'}
service_backup = {'https':'443','http':'8080','ssh':'6666'} 先自定义一个字典
service.update(service_backup) 在使用update()函数添加多个
print(service)
打印结果
{'http': '8080', 'ftp': '21', 'ssh': '6666', 'https': '443'}
添加多个key-value值方法二:
service = {'http':'80','ftp':'21','ssh':'22'}
service.update(http=8080,ssh=88)
print(service)
打印结果
{'http': 8080, 'ftp': '21', 'ssh': 88}
setdefault添加key值
key值存在,不做更改
key值不存在,添加对应的键——值对
存在不更改
service = {'http':'80','ftp':'21','ssh':'22'}
service.setdefault('http',8080)
print(service)
打印结果
{'http': '80', 'ftp': '21', 'ssh': '22'}
不存在则添加
service = {'http':'80','ftp':'21','ssh':'22'}
service.setdefault('mysql',3306)
print(service)
打印结果
{'http': '80', 'ftp': '21', 'ssh': '22', 'mysql': 3306}
2.删除
直接使用del删除指定key的key-value对
service = {'http':'80','ftp':'21','ssh':'22'}
del service['http']
print(service)
打印结果
{'ftp': '21', 'ssh': '22'}
pop删除指定的key的key-value
service = {'http':'80','ftp':'21','ssh':'22'}
item = service.pop('ssh')
print(service)
打印结果
{'http': '80', 'ftp': '21'}
popitem删除最后一个key-value值对
service = {'http':'80','ftp':'21','ssh':'22'}
item = service.popitem() 删除最后一个键-值对
print(item)
print(service)
打印结果
('ssh', '22')
{'http': '80', 'ftp': '21'}
清空字典内容
service = {'http':'80','ftp':'21','ssh':'22'}
service.clear()
print(service)
打印结果
{}
3.查看
查看字典的key值
service = {'http':'80','ftp':'21','ssh':'22'}
print(service.keys())
打印结果
dict_keys(['http', 'ftp', 'ssh'])
查看字典的value值
service = {'http':'80','ftp':'21','ssh':'22'}
print(service.values())
打印结果
dict_values(['80', '21', '22'])
查看字典的key-value值
service = {'http':'80','ftp':'21','ssh':'22'}
print(service.items())
打印结果
dict_items([('http', '80'), ('ftp', '21'), ('ssh', '22')])
查看key的value值;get方法
key不存在,默认返回None
key不存在,有default,则返回default值
service = {'http':'80','ftp':'21','ssh':'22'}
print(service.get('https'))
print(service.get('http'))
打印结果
None
80
service = {'http':'80','ftp':'21','ssh':'22'}
for i in service:
print(i,service[i])
打印结果
http 80
ftp 21
ssh 22
for循环遍历字典
service = {'http':'80','ftp':'21','ssh':'22'}
for k in service:
print('key:',k,'value:',service[k])
key: http value: 80
key: ftp value: 21
key: ssh value: 22
应用场景
1.习题
数字重复统计:
1). 随机生成1000个整数;
2). 数字的范围[20, 100],
3). 升序输出所有不同的数字及其每个数字重复的次数;
2.习题
重复的单词: 此处认为单词之间以空格为分隔符, 并且不包含,和.;
# 1. 用户输入一句英文句子;
# 2. 打印出每个单词及其重复的次数;
“hello java hello python”
hello 2
java 1
python 1
str = input('请输入字符串: ')
str1 = str.split(' ') 通过空格对字符串进行分离
dict = {} 定义空字典
for num in str1: 循环遍历str1里面的字符串元素
if num in dict: 判定元素是否存在于字典中
dict[num] += 1 存在数量+1
else:
dict[num] = 1 不存在=1
print(dict)
执行结果
请输入字符串: hello java hello python
{'hello': 2, 'java': 1, 'python': 1}