本文档主要记录字典的基本用法学习

字典基本语法

字典基本结构

#key为键,value为键对应的值
#值可以取任何数据类型,但键必须是不可变的,如字符串,数字
dict_exam={'key1':value1,'key2':value2,'keys':value3}

创建字典

创建空字典与添加元素

dict_exam={}#创建一个空字典
dict_exam['test_key']=1#添加字典元素,通过新建键及其对应的值,可以给字典添加元素
print(dict_exam)
{'test_key': 1}

访问字典

通过键访问值

dict_exam={'name':'yuan','year':24}
#通过键访问键对应的值
print(dict_exam['name'])
#或者使用get(key)访问对应值
print(dict_exam.get('name'))
yuan
yuan

访问字典所有键

#访问字典所有的键,使用dict.keys()
dict_exam={'file1':1,'file2':2,'file3':3}
print(dict_exam.keys())#以列表的形式按顺序返回字典的键
dict_keys(['file1', 'file2', 'file3'])

访问字典所有值

#访问字典所有值,使用	dict.values()
dict_exam={'file1':1,'file2':2,'file3':3}
print(dict_exam.values())#以列表的形式按顺序返回字典的值
dict_values([1, 2, 3])

修改字典

通过键修改对应值

dict_exam={'name':'yuan','year':24}
#修改键'year'的值为25
dict_exam['year']=25
print(dict_exam)
{'name': 'yuan', 'year': 25}

在一个字典后面添加一个新字典

#使用update更新字典元素
#当向将另一个字典添加到另一个字典时,可以使用update
dict_exam={'name':'yuan','year':24}
dict_exam2={'student1':'xiaohong','student2':'xiaoming'}
dict_exam.update(dict_exam2)
print(dict_exam)
{'name': 'yuan', 'year': 24, 'student1': 'xiaohong', 'student2': 'xiaoming'}

定义新的键来添加字典元素

#添加字典元素
dict_exam={'name':'yuan','year':24}
dict_exam['school']='scut'
print(dict_exam)
{'name': 'yuan', 'year': 24, 'school': 'scut'}

删除字典元素

通过键对删除字典元素

dict_exam={'name':'yuan','year':24}
#删除字典键'name'及其对应值
del dict_exam['name']
print(dict_exam)
{'year': 24}

使用pop(keys)删除指定键

#使用pop()删除字典指定的键对值
dict_exam={'name':'yuan','year':24}
dict_exam.pop('name')#删除键'name'及其对应值key
print(dict_exam)
{'year': 24}

使用popitem()删除字典最后一个键对值

#使用popitem()删除字典中的最后一对键和值
dict_exam={'name':'yuan','year':24}
dict_exam.popitem()#默认输出最后的键对值
print(dict_exam)
{'name': 'yuan'}

删除字典所有元素

#删除字典所有元素
dict_exam.clear()
print(dict_exam)#此时字典为空字典了
{}

删除字典本身

#删除字典
del dict_exam
print(dict_exam)#此时字典已经不复存在了
---------------------------------------------------------------------------

NameError                                 Traceback (most recent call last)

<ipython-input-9-ed46259159d8> in <module>
      1 #删除字典
      2 del dict_exam
----> 3 print(dict_exam)


NameError: name 'dict_exam' is not defined

字典键的要求

键不能重复

#第一:字典的键不能重复定义,否则只会留下最后所赋的值,此时相当于修改字典的作用
dict_exam={'name':'yuan','name':'yu'}
print(dict_exam)
{'name': 'yu'}

键不能为变量

#第二:字典的键不能是变量,比如列表
dict_exam={['name']:'yuan','name':'yu'}
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-11-ebf58a01fa9b> in <module>
      1 #第二:字典的键不能是变量,比如列表
----> 2 dict_exam={['name']:'yuan','name':'yu'}


TypeError: unhashable type: 'list'
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐