博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python入门基础(5)
阅读量:5033 次
发布时间:2019-06-12

本文共 2618 字,大约阅读时间需要 8 分钟。

  • 字典

  字典是包含若干"键:值"元素的无序可变序列,字典中的每个元素包含"键"和"值"两部分,定义字典时,每个元素的键和值用冒号分割,元素之间用逗号分割,所有的元素放在一对大括号"{}"中.字典的键可以为任意不可变数据.

  1.字典的创键 : 使用"="将字典赋值给一个变量

a_dict = {
'name':'笑话','sex':'nan','age':'15'}c_dict = {} #空字典print(c_dict)print(a_dict)

运行结果:

{}{
'name': '笑话', 'sex': 'nan', 'age': '15'}

  2.使用dict()根据给定的键、值创建字典

keys = ['a','b','c','d']values = [1,2,3,4]dictionary = dict(zip(keys,values))print(dictionary)d = dict(name = 'dongruan',age = 16)print(d)

运行结果:

{
'a': 1, 'b': 2, 'c': 3, 'd': 4}{
'name': 'dongruan', 'age': 16}

  3.以键作为下标可以读取字典元素、若键不存在则抛出异常

   使用字典对象的get()方法获取指定键对应的值,并且可以在键不存在的时候返回指定值

   使用字典对item()方法可以返回子弹的键、值队列表

   使用字典的keys()方法可以返回字典的键列表

   使用字典的values()方法可以返回字典的值列表

# dicta = dict.fromkeys(['name','age','sex'])# print(dicta)# dictb = {'name':'dong','age':'19','sex':'nan'}# print(dictb.get('adress'))# print(dictb.get('sex'))#会显示新元素,但是字典里面并没有添加进去# print(dictb.get('adress','nanjing'))# print(dictb.setdefault('name'))# dictC = {'name':'李白','age':117,'sex':'gong'}# for i in dictC.items():#     print(i)# for key in dictC:#     print(key)# print(dictC.keys())#setdefault方法,如果字典里面有就不进行添加,并返回字典里面的值,如果没有就可以添加,并返回添加的值# print(dictC.setdefault('sge',89))# print(dictC.setdefault('tel','0000000'))# print(dictC)

在这就不展示输出结果了

  • 字典元素的添加

  以指定键为下标为字典赋值时,若键存在,则可以修改该键的值;若不存在,则表示添加一个键、值、对。

a_dict = {
'name':'liha','age':15,'sex':'公'}a_dict['age'] = 18print(a_dict)a_dict['adress'] = '湖北省武汉市'print(a_dict)

运行结果:

{
'name': 'liha', 'age': 18, 'sex': '公'}{
'name': 'liha', 'age': 18, 'sex': '公', 'adress': '湖北省武汉市'}

  使用字典对象的update方法将另一个字典的键,值对添加到当前对象

a_dict = {
'name':'liha','age':15,'sex':'公'}b_dict = {
'nihao':12,'feiwu':18}a_dict.update(b_dict)print(a_dict)

运行结果:

{
'name': 'liha', 'age': 15, 'sex': '公', 'nihao': 12, 'feiwu': 18}
  • 字典的删除

  1.使用del删除整个字典,或者字典中的整个元素

  2.使用pop()和popitem()方法弹出并删除指定元素

  3.使用clear()清空字典中所有元素

 

使用in方法判断一个key是否在字典中:

a_dict = {
'name':'liha','age':15,'sex':'公'}print('name' in a_dict.keys())print('name' in a_dict)

运行结果:

TrueTrue
  • 遍历字典

  1.遍历key值

a_dict = {
'name':'liha','age':15,'sex':'公'}for key in a_dict: print(key,a_dict[key])

运行结果:

name lihaage 15sex 公
#遍历values值a_dict = {
'name':'liha','age':'shiwu','sex':'公'}for values in a_dict.values(): print(values)print('****************')#遍历字典项for n in a_dict.items(): print(n)print('****************')#遍历字典键值for key,values in a_dict.items(): print(key+':'+values)

运行结果:

lihashiwu公****************('name', 'liha')('age', 'shiwu')('sex', '公')****************name:lihaage:shiwusex:公

有序字典跟字典推导式如果感兴趣的可以去学一下,我就不多说啥了,,如果你看了我的博客,并且看到这儿了,那么大家一起努力,加油

 

转载于:https://www.cnblogs.com/xy-l/p/11191959.html

你可能感兴趣的文章
Jenkins+Maven+SVN快速搭建持续集成环境(转)
查看>>
txmpp
查看>>
【Github教程】史上最全github使用方法:github入门到精通
查看>>
抽象工厂模式(Abstract Factory)
查看>>
luogu1373 小a和uim之大逃离 (dp)
查看>>
Redis的Pub/Sub客户端实现
查看>>
springMVC入门(一)------springMVC基本概念与安装
查看>>
Sam做题记录
查看>>
[bzoj] 2453 维护数列 || 单点修改分块
查看>>
IIS版本变迁
查看>>
mybatis09--自连接一对多查询
查看>>
myeclipse10添加jQuery自动提示的方法
查看>>
【eclipse jar包】在编写java代码时,为方便编程,常常会引用别人已经实现的方法,通常会封装成jar包,我们在编写时,只需引入到Eclipse中即可。...
查看>>
软件工程APP进度更新
查看>>
Python 使用正则替换 re.sub
查看>>
CTF中那些脑洞大开的编码和加密
查看>>
IdentityServer流程图与相关术语
查看>>
BirdNet: a 3D Object Detection Framework from LiDAR information
查看>>
icon fonts入门
查看>>
【Django】如何按天 小时等查询统计?
查看>>