一、字典的定义
字典是一个无序的数据集合,使用print输出字典的时候通常输出的顺序和定义的顺序是不一致的
(1)创建字典
字典:key - value 键值对
value可以是任意数据类型
(2)工厂函数
(3)字典的嵌套
二、字典特性
d = {
‘1’:‘a’,
‘2’:‘b’
}
(1)字典不支持索引
print(d[0])
(2)字典不支持切片
print(d[:])
(3)字典的重复和连接无意义
(4)成员操作符
print(‘1’ in d)
(5)for循环,默认遍历字典的key值
for i in d:
print(i)
(5)遍历字典
for i in d:
print(i,d[i])
三、字典的增加
(1)增加一个元素
如果key值存在,则更新对应的value值
如果key值不存在,则添加对应key-value
(2)添加多个key-value值
(3)setdefault添加key值
如果key值存在,不做修改
如果key值不存在,添加对应的key-value
四、字典删除
pop删除指定key的key-value
如果key存在,删除,并返回删除key对应的value
如果不存在,报错
popitem删除最后一个key-value值
清空字典内容
五、字典查看
services = {
‘http’:80,
‘ftp’:21,
‘ssh’:22
}
(1)查看字典的key值
print(services.keys())
(2)查看字典的value值
print(services.values())
(3)查看字典的key-value值
print(services.items())
(4)查看key的value值
key不存在,默认返回none
key不存在,有default值,则返回default值
print(services.get(‘http’))
(5)遍历
for k,v in services.items():
print(k,’—>’,v)
for k in services:
print(k,’—>’,services[k])
(6)get方法获取指定key对应的value
print(services.get(‘https’,‘key not exist’))
试试一个小练习吧!!!
题目内容如下:
重复的单词: 此处认为单词之间以空格为分隔符, 并且不包含,和.>;
1. 用户输入一句英文句子;
2. 打印出每个单词及其重复的次数;
“hello java hello python”
hello 2
java 1
python 1
第二个练习:
依次循环遍历列表
如果列表元素不在字典的key中,将元素作为key 1作为value值
如果列表元素在字典的key中,直接更新元素的value值,在原有的基础上加1