python获取字典长度_Python基础-字典
字典的创建
字典是存放一系列键值对的数据结构,对标js中的对象,也对标java中的map。
现实中的例子就是通讯录,根据这个人的名字就可以得到他的电话号码。
定义字典的写法跟js中定义对象是一样的,两边花括号,中间key:value,区别在于js定义对象的时候key可以不用引号。
person = {"Bob":"13113113111","Mary":"13113113112","Mark":"13113113113"}print(person)
打印结果:
{'Bob': '13113113111', 'Mary': '13113113112', 'Mark': '13113113113'}
我们还可以使用dict函数来创建字典:
person = dict(name="小明",age=18)print(person)
打印结果:
{'name': '小明', 'age': 18}
它还允许我们将其他序列转化成字典
item = [('name','小明'),('age',18)]
person=dict(item)print(person)
打印结果:
{'name': '小明', 'age': 18}
字典的基本操作
访问字典中的值
字典中的元素都是key-value的形式存放的,所以要访问某一个value,就要用到对应的key,写法是用中括号:
person = {'name' : '小明', 'age' : 18}print(person['name'])
打印结果:
小明
你还可以使用get方法来访问值:
person = {'name' : '小明', 'age' : 18}print(person.get('name'))
打印结果:
小明
他们的区别在于,使用get方法如果访问一个不存在的key,它会返回None,而使用中括号访问一个不存在的key,会报错。
还有一个有意思的方法 setdefault,它的作用是获取一个key对应的value,如果这个key存在,那么获取值,如果不存在,那么获取默认值,并往字典中插入这个key。
person = {'name' : '小明', 'age' : 18}
value= person.setdefault('sex','未知')print(value)print(person)
打印结果:
未知
{'name': '小明', 'age': 18, 'sex': '未知'}
获取字典长度
len方法几乎可以对任何数据进行长度计算,字典中每一对key-value就算做一个长度
person = {'name' : '小明', 'age' : 18}print(len(person))
打印结果:
2
添加键值对
字典是动态结构,可以自由添加键值对。
person = {'name' : '小明', 'age' : 18}
person['sex'] = '男'
print(person)
打印结果:
{'name': '小明', 'age': 18, 'sex': '男'}
修改字典中的值
修改和添加一样的,只不过如果你的key在字典中不存在,那么就添加,如果存在,那么就修改。
person = {'name' : '小明', 'age' : 18}
person['age'] = 15
print(person)
打印结果:
{'name': '小明', 'age': 15}
删除键值对
删除字典中的元素用del关键字,跟删除列表中的元素是一样的用法。
person = {'name' : '小明', 'age' : 18}del person['age']print(person)
打印结果:
{'name': '小明'}
检查key是否存在
person = {'name' : '小明', 'age' : 18}if('name' inperson):print('这个key是存在的')else:print('这个key是不存在的')
打印结果:
这个key是存在的
字典常用方法
清空字典内容 clear()
clear方法用于删除字典中的所有元素,是直接对原字典执行,方法本身不会有返回值。
person = {'name' : '小明', 'age' : 18}
person.clear()print(person)
打印结果:
{}
浅复制 copy()
copy方法返回一个新字典,包含的键值对跟原来的字典完全相同。但是它只是拷贝字典中的一级对象,对于第二级对象,它只是引用。
我们实验一下,让字典里面存列表,拷贝之后再修改列表中的值
x = {'name' : '小明', 'age' : [11,12,13]}
y=x.copy()
y['name'] = '大明'y['age'][1] = 100
print(x)print(y)
打印结果:
{'name': '小明', 'age': [11, 100, 13]}
{'name': '大明', 'age': [11, 100, 13]}
深复制 deepcopy()
from copy importdeepcopy
x= {'name' : '小明', 'age' : [11,12,13]}
y=deepcopy(x)
y['name'] = '大明'y['age'][1] = 100
print(x)print(y)
打印结果:
{'name': '小明', 'age': [11, 12, 13]}
{'name': '大明', 'age': [11, 100, 13]}
获取所有键 keys()
keys方法返回的是一个迭代器,可以用list方法将它转换成列表
person = {'name' : '小明', 'age' : 18}print(list(person.keys()))
打印结果:
['name', 'age']
所谓的迭代器,就是可以直接用来循环的对象
person = {'name' : '小明', 'age' : 18}for item inperson.keys():print(item)
打印结果:
name
age
获取所有值 values()
person = {'name' : '小明', 'age' : 18}print(list(person.values()))
打印结果:
['小明', 18]
弹出字典中的元素 pop()
弹出的意思其实就是 获取+删除 两个操作的组合。
person = {'name' : '小明', 'age' : 18}
value= person.pop('age')print(value)print(person)
打印结果:
18
{'name': '小明'}
遍历字典 items()
items方法返回一个字典视图的迭代器,包含了字典中所有的键值对,每个键值对都是以元组的形式存在
person = {'name' : '小明', 'age' : 18}
y=person.items()for item iny:print(item)
打印结果:
('name', '小明')
('age', 18)
如果你想进一步取里面的数据,也可以这么写:
person = {'name' : '小明', 'age' : 18}
y=person.items()for k,v iny:print(k + '---' + str(v))
打印结果:
name---小明
age---18
python获取字典长度_Python基础-字典相关推荐
- python获取数组长度_Python返回数组(List)长度的方法
原博文 2016-03-16 11:53 − 其实很简单,用len函数: >>> array = [0,1,2,3,4,5]>>> print len(array) ...
- 【自学Python】Python获取字符串长度
Python获取字符串长度 Python获取字符串长度教程 在 Python 中要想获取 字符串 长度可以使用 len() 函数. Python len()函数详解 定义 我们将要获取的字符串的长度, ...
- python获取字典长度_python字典操作
python中字典用于存放具有映射关系的数据 字典中的key不能相同 字典中的key必须为不可变类型,所以可以是数.字符串.元组, 但不能是列表 创建字典 通过{}创建 dict1 = {'eric' ...
- python获取字典长度_Python中的字典
1 字典的定义 dictionary(字典) 是 除列表以外Python之中 最灵活的数据类型 字典同样可以用来 存储多个数据 通常用于存储 描述一个 物体的相关信息 和列表的区别 列表是 有序的对象 ...
- python.集合转列表_Python基础数据类型:元组、列表、字典、集合
你好,我是goldsunC. 让我们一起进步吧! 元组.列表.字典.集合 元组和列表是Python语言中非常重要的一部分内容,它们是Python中除了字符串以外的另两种序列结构,几乎在任何地方都少不了 ...
- python定义字典列表_Python基础语法(四)—列表、元组、字典、集合、字符串
列表 基本概念列表是有序的元素集合,所有元素放在一对中括号中,用逗号隔开,没有长度限制: 列表索引值以0为开始值,-1为从未尾的开始位置. 列表可以使用+操作符进行拼接,使用*表示重复. 当列表元素增 ...
- python编程字典数据库_python基础数据类型之字典、集合
哈啰!大家好,今天是初五了,牛年接财神的好日子,懂得都懂.祝@所有人2021年,事事顺利,牛气冲天,福利满满,财运亨通,步步高升,学业进步! 那么,这次介绍的是鼎鼎大名的字典,其以其操作的灵活性.操作 ...
- python 列表 元祖 字典 集合_python基础知识之列表、元祖、字典、集合、字符串。...
1.可变类型之列表 列表用 [ ]来定义是可变的,可以通过索引值来去查询里面的字段可以可以追加,删除等 ```python names='zhangyang guyun xiangpeng xulia ...
- python 字典长度_python字典详解
字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示: di ...
最新文章
- 【时间序列】时序预测竞赛之异常检测算法综述
- IIS崩溃时自动抓取Dump
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之12.Servlet基础(2)
- python理论知识选择题_python基础知识练习题(一)
- 修改hostname有几种方式?(转)
- 01背包,完全背包,多重背包,混合背包,二维费用背包,分组背包,背包问题求方案数
- WPF DataGrid 获取当前行某列值
- T-SQL常用日期函数
- Verilog学习笔记 (四)QPSK调制实现
- 微信小游戏推荐:又一款H5微信互动小游戏要火啦!
- 机器学习视频推荐-绝对的通俗易懂(线性回归,逻辑回归,朴素贝叶斯分类器,K-近邻,SVM,决策树,随机森林,XGboost,k-means聚类)
- EDA技术与VHDL设计
- Racket 学习笔记
- nmos和pmos区别、工作原理及基本结构详解
- windows下AV1的编译
- 手风琴控件android,ExpandableListView实现手风琴效果
- 微软服务器登录不上,微软账号无法登录怎么办
- Python处理txt文件:多句分行+行首尾添加字符+for循环--Python新手自练系列
- 上采样,重采样和下采样,降采样
- redis连接出错 ERR AUTH <password> called without any password configured for the default user.