python3.x 基础一:dict字典
字典,{key,value}
help(dict)
- 定义一个字典:
>>> dict1
{'salary': '', 'age': '', 'name': 'yzw'}
>>> dict2=dict1
>>> id(dict2)
139948810542280
>>> id(dict1)
139948810542280
>>> dict2=dict1.copy()
>>> id(dict1),id(dict2)
(139948810542280, 139948887698696)
- | clear(...) 清空一个字典
| D.clear() -> None. Remove all items from D.>>> dict2.clear()
>>> dict2
{} - | copy(...) 普通赋值指向相同的内存地址
| D.copy() -> a shallow copy of D>>> dict2=dict1.copy()
>>> id(dict1),id(dict2)
(139948810542280, 139948887698696) | fromkeys(iterable, value=None, /) from builtins.type 创建一个以序列为key,值相同的字典
| Returns a new dict with keys from iterable and values equal to value.>>> seq1=('length','width','square')
>>> dict3=dict.fromkeys(seq1)
>>> dict3
{'length': None, 'width': None, 'square': None}
>>> dict4=dict.fromkeys(seq1,10)
>>> dict4
{'length': 10, 'width': 10, 'square': 10}- | get(...) 根据key取value,key不存在则返回None dict[key]取值key不存在时报错
| D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None.>>> dict1
{'salary': '', 'age': '', 'name': 'yzw'}
>>> dict1.get('salary')
''
>>> dict1.get('sex')
>>> dict1['salary']
'100'
>>> dict1['sex']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'sex' - | items(...) 以列表返回可遍历的(键, 值) 元组数组
| D.items() -> a set-like object providing a view on D's items>>> dict1.items()
dict_items([('salary', ''), ('age', ''), ('name', 'yzw')]) - | keys(...) 返回所有key的列表
| D.keys() -> a set-like object providing a view on D's keys>>> dict1.keys()
dict_keys(['salary', 'age', 'name']) - | pop(...) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值
| D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
| If key is not found, d is returned if given, otherwise KeyError is raised>>> dict1.pop('salary')
''
>>> dict1
{'age': '', 'name': 'yzw'}
>>> dict1.pop('sex')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'sex'
>>> dict1['sex']='man'
>>> dict1
{'sex': 'man', 'age': '18', 'name': 'yzw'} - | popitem(...) 随机删除一个k/v
| D.popitem() -> (k, v), remove and return some (key, value) pair as a
| 2-tuple; but raise KeyError if D is empty.>>> dict1
{'square': None, 'kind': 'human', 'width': None, 'name': 'yzw', 'length': None, 'sex': 'man', 'age': ''}
>>> dict1.popitem()
('square', None)
>>> dict1.popitem()
('kind', 'human')
>>> dict1
{'width': None, 'name': 'yzw', 'length': None, 'sex': 'man', 'age': ''} - | setdefault(...) 不存在key,则增加到字典中,若存在,则返回key对应的value
| D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D>>> dict1.setdefault('kind','human')
'human'
>>> dict1
{'kind': 'human', 'sex': 'man', 'age': '', 'name': 'yzw'}
>>> dict1.setdefault('sex','femeal')
'man'
>>> dict1
{'kind': 'human', 'sex': 'man', 'age': '18', 'name': 'yzw'} - | update(...) 字典合并,不能存在的k/v则增加,已存在的k则覆盖更新
| D.update([E, ]**F) -> None. Update D from dict/iterable E and F.
| If E is present and has a .keys() method, then does: for k in E: D[k] = E[k]
| If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v
| In either case, this is followed by: for k in F: D[k] = F[k]>>> dict1
{'kind': 'human', 'sex': 'man', 'age': '', 'name': 'yzw'}
>>> dict3
{'length': None, 'width': None, 'square': None}
>>> dict3['kind']='human'
>>> dict3
{'kind': 'human', 'length': None, 'width': None, 'square': None}
>>> dict1.update(dict3)
>>> dict1
{'square': None, 'kind': 'human', 'width': None, 'name': 'yzw', 'length': None, 'sex': 'man', 'age': ''}
>>> - | values(...) 返回字典所有值的列表形式
| D.values() -> an object providing a view on D's values>>> dict1.values()
dict_values([None, 'human', None, 'yzw', None, 'man', ''])
- 字典遍历
>>> dict1
{'width': None, 'name': 'yzw', 'length': None, 'sex': 'man', 'age': ''}
>>> for i in dict1:
... print(i,dict1[i])
...
width None
name yzw
length None
sex man
age 18
# 效率最高
>>> for k,v in dict1.items():
... print(k,v)
...
width None
name yzw
length None
sex man
age 18
#效率低
>>> for k,v in enumerate(dict1):
... print(k,v)
...
0 width
1 name
2 length
3 sex
4 age
>>> for idx,k in enumerate(dict1):
... print(idx,k,dict1[k])
...
0 width None
1 name yzw
2 length None
3 sex man
4 age 18
python3.x 基础一:dict字典的更多相关文章
- python基础(六)dict字典和文件操作open
字典dict 使用key来标注value的数据类型,key和value是一一对应的.在字典中key是唯一的,所以字典也是无序的. #定义一个字典 dict = { 'name' : 'sylar', ...
- python基础数据类型--dict 字典
字典 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必 ...
- Python - 基础数据类型 dict 字典
字典简介 字典在 Python 里面是非常重要的数据类型,而且很常用 字典是以关键字(键)为索引,关键字(键)可以是任意不可变类型 字典由键和对应值成对组成,字典中所有的键值对放在 { } 中间,每一 ...
- Python基础数据类型(五) dict字典
字典dict{} 字典数字自动排序 enumerate 枚举 for i,k in enumerate(dic,1) #第二个参数默认不写就是0 ---枚举 print(i,k) dict,以{}来表 ...
- Python3中dict字典的相关操作函数
字典对象的内建函数 1. clear() 清空字典. 例: >>> a = {1:3, 2:4} >>> a.clear() >>> a {} 2 ...
- python的dict()字典数据类型的方法详解以及案例使用
一.之前的回顾 # int 数字 # str 字符串 # list 列表 # tuple 元组 # dict 字典 字典中最重要的方法 keys() values() items() get upd ...
- Python基础知识(五)------字典
Python基础知识(四)------字典 字典 一丶什么是字典 dict关键字 , 以 {} 表示, 以key:value形式保存数据 ,每个逗号分隔 键: 必须是可哈希,(不可变的数据类型 ...
- python基础之dict、set及字符
python基础之dict.set及字符串处理 本节内容 字典介绍及内置方法 集合介绍 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射类型,采用键值对(key-value)的形式存 ...
- python基础——使用dict和set
python基础——使用dict和set dict Python内置了字典:dict的支持,dict全称dictionary,在其它语言中也称为map(映射),使用键-值(key-value)存储,具 ...
- 第四篇:python基础之dict、set及字符
python基础之dict.set及字符 python基础之dict.set及字符串处理 本节内容 字典介绍及内置方法 集合介绍 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射 ...
随机推荐
- web 之 session
Session? 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务器程序可以 ...
- 更新mac系统到10.15后,virtual box虚拟机无法打开
更新mac系统到10.15后,virtual box虚拟机无法打开: 尝试解决方案1:下载最新版的virtual box重新安装后,启动成功. 虽然很乌龙,但是下次再也不随便升级系统了,太坑爹了
- 控制台报错 [WDS] Disconnected!
Webpack 的 HMR 功能,是通过 WebSocket 实现的推送 JSON Patch,同时需要第三方库支持. 具体解决方案: 热加载(HMR)是 Webpack Dev Server 最强大 ...
- 当setWidth()和setHeight()方法不起作用时
当在Android开发中用方法setWidth()和setHeight()动态设置控件的宽高时,当被改后的宽高小雨原来的宽高时,这两个方法将不会生效. 解决办法: 1 2 3 4 LayoutPara ...
- 2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)E-缺席的神官
链接:https://ac.nowcoder.com/acm/contest/3036/E 来源:牛客网 题目描述 面前的巨汉,让我想起了多年前的那次,但这个巨汉身上散布着让人畏惧害怕的黑雾.即使看不 ...
- P1495 CRT,P4777 EXCRT
updata on 2020.4.11 修正了 excrt 的一处笔误 CRT 求解方程: \[\begin{cases} x \equiv a_1 \pmod {m_1}\\ x \equiv a_ ...
- DeepWalk论文精读:(4)总结及不足
模块4 1 研究背景 随着互联网的发展,社交网络逐渐复杂化.多元化.在一个社交网络中,充斥着不同类型的用户,用户间产生各式各样的互动联系,形成大小不一的社群.为了对社交网络进行研究分析,需要将网络中的 ...
- .NET Core技术研究-通过Roslyn代码分析技术规范提升代码质量
随着团队越来越多,越来越大,需求更迭越来越快,每天提交的代码变更由原先的2位数,暴涨到3位数,每天几百次代码Check In,补丁提交,大量的代码审查消耗了大量的资源投入. 如何确保提交代码的质量和提 ...
- mybatis实现增删改
mybatis实现增加数据 1.在dao接口中声明添加方法 2.在mapper文件中实现该方法 3.测试 mybatis实现修改数据 1.在dao接口中声明修改方法 2.在mapper中实现该方法 3 ...
- Day_13【IO流】扩展案例2_统计指定项目文件中字符出现的次数
需求分析 统计当前项目下info2.txt文件中, 每个字符出现的个数 文件内容如下: welcome to itheima!!! 最终效果如下: w(1) (2)!(3)t(2)e(3)c(1)a( ...