python中字典用于存放具有映射关系的数据

字典中的key不能相同

字典中的key必须为不可变类型,所以可以是数、字符串、元组, 但不能是列表

创建字典

通过{}创建

dict1 = {'eric': 80, 'bob': 90}

dict2 = {}

通过函数dict()创建

a = [('eric', 80), ('bob', 90)]

dict3 = dict(a)# {'eric': 80, 'bob': 90}

dict4 = dict()# {}

dict5 = dict(eric=80, bob=90)# {'eric': 80, 'bob': 90}

通过zip()创建

zip(key_seq, value_seq)

dict6 = dict(zip('abc', [1, 2, 3]))# {'a': 1, 'b': 2, 'c': 3}

通过dict.fromkeys()创建

dict.fromkeys(key_seq, value)

通常用来初始化字典, 设置value的默认值

dict6 = dict.fromkeys('abc', 0) # {'a': 0, 'b': 0, 'c': 0}

dict7 = dict.fromkeys(range(3), 'x') # {0: 'x', 1: 'x', 2: 'x'}

通过字典推导式创建

dict8 = {i: 2*i for i in range(3)} # {0: 0, 1: 2, 2: 4}

根据key获取value

dict[key]

dict.get(key)

dict.get(key, value)

当key存在时返回key对应的value

当key不存在时返回设置的默认value

dict9 = {'eric': 80, 'bob': 90}

a = dict9.get('eric', None) # 80

b = dict9.get('jean', None) # None

c = dict9.get('jean') # None

获取字典长度

获取字典长度(字典中键值对的个数) len(dict)

获取字典中所有key-value, key, value

获取字典中所有key-value对: dict.items()

获取字典中所有key:dict.keys()

获取字典中所有value: dict.values()

dict10 = {'eric': 80, 'bob': 90}

print(list(dict10.items())) # [('eric', 80), ('bob', 90)]

print(list(dict10.keys())) # ['eric', 'bob']

print(list(dict10.values())) # [80, 90]

设置指定key对应的value值

dict[key] = value

dict.setdefault(key, value)

当key存在时对应的value不变

当key不存在时, 字典尾部新增一个key-value对

dict11 = {'eric': 80, 'bob': 90}

dict11.setdefault('eric', 0)

print(dict11) # {'eric': 80, 'bob': 90}

dict11.setdefault('jean', 0)

print(dict11) # {'eric': 80, 'bob': 90, 'jean': 0}

删除字典

删除字典: del dict

清空字典: dict.clear()

删除指定key-value: dict.pop(key, value)

当key存在时,删除对应key-value, 并返回key对应的value

当key不存在时,不删除字典元素, 返回value值

随机返回并删除字典中的一对键和值(一般删除末尾对):dict.popitem()

dict12 = {'eric': 80, 'bob': 90}

a = dict12.pop('eric', 10)

print(a) # 80

print(dict12) # {'bob': 90}

dict13 = {'eric': 80, 'bob': 90}

b = dict13.pop('jean', 10)

print(b) # 10

print(dict13) # {'eric': 80, 'bob': 90}

dict14 = {'eric': 80, 'bob': 90}

a = dict14.popitem()

print(a) # ('bob', 90)

print(dict14) # {'eric': 80}

字典转化

将字典转化为字符串: str(dict)

dict15 = {'eric': 80, 'bob': 90}

print(str(dict15))# "{'eric': 80, 'bob': 90}"

# list(dict)是获取字典的key list

print(list(dict15))# ['eric', 'bob']

判断字典中是否包含指定的key

判断字典中是否包含指定的key: key in dict

字典复制

字典复制(浅拷贝): a = dict

字典复制(深拷贝): a = dict.copy()

print(id(b) == id(a)) # True 浅拷贝

print(id(c) == id(a)) # False 深拷贝

使用字典格式化字符串

temp = '姓名:%(name)s, 年龄:%(age)d, 薪资:%(salary)010.2f'

eric = {'name': 'eric', 'age': 18, 'salary': 500000}

temp_format = temp % eric

print(temp_format)# "姓名:eric, 年龄:18, 薪资:0500000.00"

python获取字典长度_python字典操作相关推荐

  1. python 字典长度_python字典详解

    字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示: di ...

  2. python获取数组长度_Python返回数组(List)长度的方法

    原博文 2016-03-16 11:53 − 其实很简单,用len函数: >>> array = [0,1,2,3,4,5]>>> print len(array) ...

  3. python 字典长度_python字典可以容纳多少个元素?

    正如@Leifingson和@Tim所提到的,这种行为取决于以前做过的事情.为了说明内存消耗,我将使用以下示例:Python 2.7 (r27:82525, Jul 4 2010, 09:01:59) ...

  4. python获取redis数据_Python之操作redis数据库

    使用redis模块 一.操作redis 1.添加信息 (1)直接建key-value信息: 右键-Add New Key,手动添加key和value 右键-Console,打开控制台,写入命令 (2) ...

  5. python获取字典长度_Python中的字典

    1 字典的定义 dictionary(字典) 是 除列表以外Python之中 最灵活的数据类型 字典同样可以用来 存储多个数据 通常用于存储 描述一个 物体的相关信息 和列表的区别 列表是 有序的对象 ...

  6. 【自学Python】Python获取字符串长度

    Python获取字符串长度 Python获取字符串长度教程 在 Python 中要想获取 字符串 长度可以使用 len() 函数. Python len()函数详解 定义 我们将要获取的字符串的长度, ...

  7. python获取字典长度_python中的字典、元组和集合

    一.python中的字典 1.字典的表示方式:{key1:value1,key2:value2,key3:value3}: 2.字典的key通常情况下是字符串,也可以使用其他不可变的数据类型: 3.字 ...

  8. python获取字典长度_Python基础-字典

    字典的创建 字典是存放一系列键值对的数据结构,对标js中的对象,也对标java中的map. 现实中的例子就是通讯录,根据这个人的名字就可以得到他的电话号码. 定义字典的写法跟js中定义对象是一样的,两 ...

  9. python定义字典长度_Python学习之字典为何比列表NB

    https://www.zhihu.com/video/1183793788048363520 我们学了列表 , 现在有个需求, 把你们公司每个员工的姓名.年龄.职务.工资存到列表里,你怎么存?sta ...

最新文章

  1. LeetCode 319. Bulb Switcher--C++,java,python 1行解法--数学题
  2. 面向对象——构造方法(重载)
  3. oracle更换rac节点,Oracle-rac 更改VIP地址—2节点的
  4. Linux下VNCSERVER的使用介绍
  5. ubuntu下设置Android手机驱动
  6. 667.优美的数列II(力扣leetcode) 博主可答疑该问题
  7. bzoj1076 奖励关(概率dp)(状态压缩)
  8. sklearn——加载数据集
  9. 2022电工(初级)操作证考试题库及模拟考试
  10. 服务器虚拟内存设置在什么盘,虚拟内存设置在哪个磁盘呢
  11. Flutter 替换高德定位默认图标
  12. eNSP之防火墙简单实验(一)
  13. Android-音视频学习系列-(十)基于-FFmpeg-+-OpenSLES-实现音频万能播放器
  14. Matlab中计算程序运行时间的几种方法
  15. 质量流量计雷电击故障的应对策略
  16. python类的使用的生物学应用_Python 类的使用
  17. C# 使用Vlc播放视频或者监控
  18. mimikatz bypass360全家桶
  19. 相对定位和绝对定位的搭配使用
  20. 智能温湿度计原型设计-BLE 模组 SDK 开发

热门文章

  1. 吃货联盟 项目日记 0922
  2. linux-关机与重启命令
  3. linux-vim设置环境
  4. django-阻止某一个IP访问某一个页面
  5. django-模板的母版与子版
  6. Java架构-每秒上千订单场景下的分布式锁高并发优化实践!
  7. linq to sql查询中返回linq自动建立的实体类型)
  8. Serverless实战 —— 三分钟入坑指北 Docsify + Serverless Framework 快速创建个人博客系统
  9. 面试精讲之面试考点及大厂真题 - 分布式专栏 07 说一说什么是正向代理,反向代理
  10. JavaScript玩转机器学习:Node 中的 TensorFlow.js