字典的创建以及使用方法

字典(dict)字典属于一个新的数据结构,称之为映射,字典的作用和列表的差不多,都是用来储存对象的容器。字典中每一个元素(value)都有一个对应的名字(key)通过这唯一的名字可以快速找到对应的元素。
key(字典键)和value(字典值)是一一对应的
语法:{key:value,key:value,key:value}
字典键(key):可以是任意不可变对象。
字典值(value):可以是任意对象。

字典的创建

字典创建主要有两种方式

  1. 使用{}创建字典
  2. 使用dict()函数创建字典,dict()中必须使用双值表达式
  3. 使用formkeys(key,value) 字典内置方法,key可以是一个列表、元组等数据类型,如果是列表或者元组,列表或元组中的每个元素会自动成为一个key,value为字典所有key对应的初始值,默认为None。
d = {'name': 'wu', 'age': 3}
d1 = dict([('ab', 'bc')])
d2 = dict([('a', 'd'), ('b', 'c')])
d3 = dict([('ad')])
print(d, d1, d2, d3) # {'name': 'wu', 'age': 3} {'ab': 'bc'} {'a': 'd', 'b': 'c'} {'a': 'd'}
k = ['name','age','python']
v = 10
dic = dict.fromkeys(k,v)
print(dic) # {'name': 10, 'age': 10, 'python': 10}

字典的使用方法

目标 使用方法(格式) 注释
逐个调用字典值 方法一:dict[key]
方法二:dict.get(key,返回值-默认为None)
方法一字典内必须存在所要寻找的key,不存在则会报错,
方法二如果key不存在,如果key不存在则返回提示内容,如果没写提示内容,默认返回None。
遍历字典 方法一keys 语法:for k in dicr.keys(): print(dic[k])
方法二valuers 语法:for v in dict.values(): print(v)
方法三items 语法:for x, y in dict.items(): print(x, y)
方法一遍历字典中的键
方法二遍历字典中的值
方法三同时遍历键和值
修改和添加 语法:dict[key] = value 如果dict中存在key这会修改key为新的value,如果不存在key,则会添加新的key并赋值value。
删除 语法:del dict[key] 除此之外还有几种字典内置方法也可以删除,我们下面将详细介绍

实例

dic = {
    'name': '寻觅',
    'age': 20,
    'python': '1',
    'pycharm': '蛮好用'
    }
print(dic['pycharm']) # 蛮好用
print(dic.get('pycharm'),dic.get('vscode','没有这个键')) # 蛮好用 没有这个键
# keys 方法
for k in dic.keys():
    print(k) # name age python pycharm
# values 方法
for v in dic.values():
    print(v) # 寻觅 20 1 蛮好用
# items 方法
for i in dic.items():
    print(i) # ('name', '寻觅') ('age', 20) ('python', '1') ('pycharm', '蛮好用')
for x, y in dic.items():
    print(x,y) # name 寻觅  age 20  python 1  pycharm 蛮好用
dic['name'] = '隐藏'
dic['vscode'] = '微软大法好'
print(dic) # {'name': '隐藏', 'age': 20, 'python': '1', 'pycharm': '蛮好用', 'vscode': '微软大法好'}
del dic['name']
print(dic) # {'age': 20, 'python': '1', 'pycharm': '蛮好用', 'vscode': '微软大法好'}

字典的内置函数

函数描述

函数 描述
dict.formkeys(key,value) 创建一个新字典的方法,key可以是一个列表、元组等数据类型,如果是列表或者元组,列表或元组中的每个元素会自动成为一个key,value为字典所有key对应的初始值,默认为None。
dict.get(key,返回值-默认为None) 返回指定key的value,如果指定key不存在,则返回返回值。
dict.item() 以列表返回dict中所有的key和value。
dict.keys() 以列表返回dict中的所有键。
dict.values() 以列表的形式返回dict中的所有value。
dict.copy() 返回一个浅复制。
dict.setdefault(key,value-默认值为None) 如果键不在dict中则添加key和value,如果已经存在一样的key,则不会有任何操作。
dict.update(dict2) 将dic2中的值添加到dic1中.
dict.clear() 删除dict内所有元素。
dict.pop(key,返回值-默认为None) 删除指定的key以及其对用的value,并将删除key的value作为返回值。如果删除的key不存在,则返回返回值。
dict.popitem() 随机删除一个键值对,并将删除的键值以元组的方式对作为返回值返回。

函数实例

dic = {
    'name':'隐藏',
    'a':10
}
dic1 = {
    'name': '寻觅',
    'age': '20',
    }
dic2 = dic1.copy()
print(dic2) # {'name': '寻觅', 'age': '20'}
dic1.setdefault('name',1)
print(dic1) # {'name': '寻觅', 'age': '20'}
dic1.setdefault('python',1)
print(dic1) # {'name': '寻觅', 'age': '20', 'python': 1}
dic.update(dic2)
print(dic) # {'name': '寻觅', 'a': 10, 'age': '20'}
dic.clear()
print(dic) # {}
a = dic1.pop('name')
print(a,dic1) # 寻觅 {'age': '20', 'python': 1}
a = dic1.popitem()
print(a,dic1) # ('python', 1) {'age': '20'}