首页 > 公告栏 >

PYTHON字典的概念与应用

输入一些单词和解释,将单词作为键,将解释作为值,将这些数据输入到字典中,当输入非字母(比如输入数字)时结束输入;然后,输入查询的单词,给出单词对应的解释。

字典的概念

字典的定义

        1. 字典是一种可变的容器,可以存储任意类型的数据 
        2. 字典中的每个数据都是用"键"(key) 进行索引,而不象序列可以用下标来进行索引 
        3. 字典中的数据没有先后顺序关系,字典的存储是无序的 
        4. 字典中的数据以键(key)-值(value)对形式进行映射存储 
        5. 字典的键不能重复,且只能用不可变类型作为字典的键 

字典的字面值表示方式

        {} 括起来,以冒号(:) 分隔键-值对,各键-值对用逗号分隔开

创建一个字典

        d = {}        # 空字典
        d = dict()
        d = {1:'a',2:'b',3:'c'}
        d = {'name':'didao','age':'12','sex':'男'}
这些都是一个字典,有空字典,也有非空字典。
 

字典的基本操作

字典的键索引

        用[] 运算符可以获取和修改键所对应的值 
        语法: 
                字典[键] 
        d = {'name':'didao','age':'12','sex':'男'}
        c 就可以得到 'didao'

        如果想要修改键为 name 的值,就把从d['name'] = 'new name'
        得到的新的字典就是 d = {'name':'new name','age':'12','sex':'男'}
        字典是可迭代对象,字典只能对键进行迭代访问。用for 遍历是,依次遍历 name age sex 
 

字典的方法

函数 说明
D代表字典对象  
D.clear() 清空字典
D.pop(key) 移除键,同时返回此键所对应的值
D.copy() 返回字典D的副本,只复制一层(浅拷贝)
D.update(D2) 将字典 D2 合并到D中,如果键相同,则此键的值取D2的值作为新值
D.get(key, default) 返回键key所对应的值,如果没有此键,则返回default
   
D.keys() 返回可迭代的 dict_keys 集合对象
D.values() 返回可迭代的 dict_values 值对象
D.items() 返回可迭代的 dict_items 对象

字典与列表的比较

1、字典和列表

        1. 都是可变对象
        2. 索引方式不同,列表用整数索引,字典用键索引
        3. 字典的查找速度可能会快于列表(重要)
        4. 列表的存储是有序的,字典的存储是无序的

2、列表 和字典 的内部存储原理 

        列表,顺序存储 
        字典,映射存储 

练习

输入一些单词和解释,将单词作为键,将解释作为值,将这些数据输入到字典中,当输入非字母(比如输入数字)时结束输入;然后,输入查询的单词,给出单词对应的解释。


print("词典录入...输入非字母结束")
dictionaries = {}
while True:
    word = input("请输入单词:")
    if not word.isalpha():
        print("词典录入完毕!!")
        break
    translate = input("请输入" + word + "的解释:")
    dictionaries.update({word: translate})

print("单词查询...")
while True:
    word = input("请输入查询的单词:")
    if not word.isalpha():
        break
    print(dictionaries.get(word))  # 查询不到 则返回None