Python学习(六):字典

字典

字典是一个无序的数据集合,它的每一个元素由一对键值对组成,使用print输出字典时通常输出的顺序和定义的顺序是不一致的
在这里插入图片描述
zip()将两个列表相同的索引值结合在一起。我们可以看到字典出现的模式,以“:“将键值对组合在一起
定义一个空集合:
在这里插入图片描述
字典的普通创建:直接将键值对写道字典中
在这里插入图片描述
利用工厂函数创建字典:
在这里插入图片描述
字典的嵌套:
在这里插入图片描述
fromkeys快速创建一个所有的key值对应同一个value值的一个集合
在这里插入图片描述

字典的特性

1.字典不支持索引
在这里插入图片描述
2.字典不支持切片
在这里插入图片描述
3.应为字典是一个无序的数据类型,所以他的重复和连接无任何意义

4.成员操作符
在这里插入图片描述
成员操作符默认为key值
5.迭代(for 循环)
在这里插入图片描述

字典的增加:

1.增加一个元素:
在这里插入图片描述
2.添加多个key-value值
在这里插入图片描述
3.利用setdefault添加key值,如果key值存在,不做修改,如果key值不存在,添加对应的key-value值
在这里插入图片描述

字典的删除

1.删除指定key对应的键值对
在这里插入图片描述
2.pop删除键值对
在这里插入图片描述
3.popitem删除最后一个键值对

在这里插入图片描述
4.清空字典内容
在这里插入图片描述

字典的查看

1.查看字典的key值
在这里插入图片描述
2.查看字典的value值
在这里插入图片描述
3.查看字典的键值对
在这里插入图片描述
4.get方法查看key的value值
在这里插入图片描述
5.遍历
在这里插入图片描述

字典的练习

1. 重复的单词: 此处认为单词之间以空格为分隔符, 并且不包含,和.>;
1. 用户输入一句英文句子;
2. 打印出每个单词及其重复的次数;
“hello java hello python”
hello 2
java 1
python 1

s = input('s:')

#把每个单词分割处理
s_li = s.split()
print(s_li)

#通过字典存储该单词和其出现的次数

word_dict = {}

"""
依次循环遍历列表
    如果列表元素不在字典的key中,将元素作为key 1作为value值
    如果列表元素在字典的key中,直接更新元素的value值,在原有的基础上加1
"""
for item in s_li:
    if item not in word_dict:
        word_dict[item] = 1
    else:
        word_dict[item] += 1

print(word_dict)

在这里插入图片描述
2.数字重复统计:
1) 随机生成1000个整数
2) 数字范围[20,100]
3) 升序输出所有不同的数字及其每个数字的重复次数

import random
all_nums = []
for item in range(1000):
    all_nums.append(random.randint(20,100))
#对生成的1000个数进行排序,然后加到字典中
sorted_nums = sorted(all_nums)
num_dict = {}
for num in sorted_nums:
    if num in num_dict:
        num_dict[num] += 1
    else:
        num_dict[num] = 1
print(num_dict)

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42446031/article/details/89180896
今日推荐