基础数据类型之字典

1.字典的定义

使用{}定义字典,括号内用逗号分隔开多个key:value,其中value可以是任意类型,但是key必须是不可变类型且不能重复,是无序的!

info=[
    ['name','zhang'],
    ('age',19)
    ['gender','男']
]
d={} # 第一种方式定义
d=dict(x=1,y=2) #第二种,dict里面也可以穿一个info
dict(info)的工作原理等同于:
d={}
info=[
    ['name','zhang'],
    ('age',19)
    ['gender','男']
]

for x,y in info:
    d[x]=y

2.字典的作用

存放多个无序的数据,数据以键值对的方式存储

3.字典数据类型转换

见字典的定义

4.字典的内置方法

# 1.按key存取值,可存可取
q={'k1':111,'k2':222}
q['k1']=333 # key存在,则修改值,key不存在,则添加值

# 2.长度len
print(len(q)) # 统计字典的key或者value个数

# 3. in、not in运算
print('k1' in q) # 统计的是字典中的key在不在

# 4.删除
del q['k1']  # 通用删除方式,无返回值
q.pop('k1')  # 根据key删除,返回删除key对应的值
q.popitem()  # 随机删除,返回一个元组,该元组是删的key和value

# 5.for循环
for k in q.keys():  # 直接获取到字典的key
    print(k)

for v in q.values():  # 直接获取到字典的value
    print(v) 

for k,v in q.items():  #获取到对应的key和value
    print(k,v)

# 其他内置方法
q.clear()  # 清空字典
q.update({'k1':444,'k3':778}) # 更新q字典,如果老字典没有更新的key则添加,有则更新
q.get('k1') # key不存在不报错,返回none
q.setdefault('k1',233) # 如果key有则不添加;没有则添加。返回值是字典中key对应的值

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基础数据类型之字典 - Python技术站

(0)
上一篇 2023年4月2日 下午5:07
下一篇 2023年4月2日

相关文章

  • django中的中间件

    1. 什么是中间件 中间件是django的门户,在请求响应进入进出django的时候,都需要先经过中间件,用来全局改变django的输入和输出。 django中自带7个中间件,每个中间件都有其特定的功能,并且django支持自定义中间件。 MIDDLEWARE = [ ‘django.middleware.security.SecurityMiddlewar…

    2023年4月2日
    00
  • CS、BS架构和网络通信协议

    1. CS架构 CS架构其实在我们身边比比皆是,手机里的app大多都是CS架构,比如腾讯作为服务端为你提供视频,你得下个腾讯视频客户端才能看它的视频。 这里的腾讯视频是客服端client,腾讯也有一个自己的服务端server 这种自己开创一个客服端的方式叫做CS架构。 CS架构的好处是:可以自定义发送数据的格式与方式 2. BS架构 BS架构其实也是CS架构…

    2023年4月2日
    00
  • 变量与常量

    1.什么是变量 变量是指可以变化的量,量指的是事物的状态,比如年龄,金钱、身高等等 2.为什么要有变量 为了能够让计算机像人一样记忆某一种事物的状态,并且这个状态是可以发生变化的。 程序的执行其实本质就是一系列状态的变化! 3.如何使用变量 (1)变量的基本使用 # 原则:先定义,再引用 name=’zhang’ print(name) (2) 内存管理(垃…

    2023年4月2日
    00
  • 权限类与频率类

    权限类 主要用途:用户登录了,某个接口可能只有超级管理员才能访问,普通用户不能访问 案列:出版社的所有接口,必须登录,而且是超级管理员才能访问 分析步骤 第一步:写一个类,继承BasePermission 第二步:重写has_permission方法 第三步:在方法校验用户时候有权限(request.user就是当前登录用户) 第四步:如果有权限,返回Tru…

    2023年4月2日
    00
  • 存储器详解

    存储器有五种类型,分别是寄存器、高速缓存、内存、磁盘、磁带。 他们访问读取的时间和容量如下图: 1.寄存器L1缓存 用的是与cpu一样的材质制成,读取和cpu一样快,容量<1KB 2.高速缓存L2缓存 存放的是cpu经常使用的数据 3.内存 内存又称RAM,ROM又称只读内存,ROM内存放着计算机厂商写死在计算机上的一段核心程序–BIOSCMOS:存…

    2023年4月2日
    00
  • for循环语法

    for循环 for循环常用来遍历取值! for循环的基本语法 for 变量名 in 可迭代对象: 代码1 代码2 … # 可迭代对象可以是字典、列表、字符串、元组、集合 for + range range是用来控制for循环次数的方法 for i in range(1,9): print(‘====’) # range(1,9)循环1-8次,括号是顾头不…

    Python开发 2023年4月2日
    00
  • 序列化类高级用法之source、SerializerMethodField和断言assert

    序列化类高级用法之source 使用source,字段参数,可以修改序列化字段名字 原本序列化器中字段名,必须和表中的字段名一样,不一样会报错 我们可以通过source字段来改变序列化器中的字段名,使得前端在展示的时候也修改一下字段名!! source也可以做跨表查询,通过外键字段,表名点外键出去的字段名字 class BookSerializer(seri…

    2023年4月2日
    00
  • 序列化组件

    序列化组件的三大功能 序列化,序列化器会把模型对象转换成字典,经过response以后变成json字符串 反序列化,把客户端发送过来的数据,经过request以后变成字典,序列化器可以把字典转成模型 反序列化时同时会完成数据校验功能 序列化器Serializer使用方法 查询单个数据语法: 1.在setting.py中的app配置里注册一下drf 2.在dj…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部