dict 字典
定义字典
字典的内容是包括key值和value值,一个key值可以对应多个value值,key值不能重复
对应多个value值:
定义空字典
定义嵌套字典
可以在字典中再定义详细的字典信息,如下:
需要寻找指定的信息时可以具体的指定
字典的特殊定义方式
print({}.fromkeys({i for i in range(3)},{i for i in range(5)}))
{i for i in range(3)}表示的是key值;
{i for i in range(5)}表示的value值。
dict 的特性
for循环
索引、切片、重复、连接、成员操作符等操作是不支持的
dict 添加
当需要添加的key值和value值都不在字典中时会添加,如果key值存在会更新value值
.update()
字典可以合并其他的字典
也可以直接进行批量添加或更新
.setdefault()
这种方式的添加,如果添加的key值存在,不做不做变动,如果不存在进行添加
dict的删除
del删除指定的key值和它的value值
.pop()
弹出key值,不会在内存中删除
.popitem()
弹出最后一个值
.clear()
清空字典
dict 的查看
查看全部的key值或全部的value值
.items()
查看所有字典中的值
查看指定的key值
如果查看的key值不存在就会显示不存在
练习
练习1
数字重复统计:
1). 随机生成1000个整数;
2). 数字的范围[20, 100],
3). 升序输出所有不同的数字及其每个数字重复的次数;
import random
all_num = []
for i in range(1000): #生成1000个20-100的随机数
all_num.append(random.randint(20,100))
sort_num = sorted(all_num) #排序
dict_num = {}
for n in sort_num: #查看重复次数
if n in dict_num:
dict_num[n] += 1
else:
dict_num[n] = 1
print(dict_num)
练习2
重复的单词: 此处认为单词之间以空格为分隔符, 并且不包含,和.;
# 1. 用户输入一句英文句子;
# 2. 打印出每个单词及其重复的次数;
“hello java hello python”
hello 2
java 1
python 1
Word = input().split()
Word_dict = {}
for I in Word:
if I in Word_dict:
Word_dict[I] += 1
else:
Word_dict[I] = 1
print(Word_dict)