Python中dict的功能介绍
Dict的功能介绍
1. 字典的两种函数(方法)
1. 字典的内置函数
包含关系
格式:x.__contains__(key)等同于key in x
例如:dic = {'ab':23,'cd':34,}
print(dic.__contains__('ab'))
>>> True
返回值:bool
#只能判断字典的键
删除字典指定键的键值对
格式:x.__delitem__(key)等同于del x[key]
例如:dic = {'ab':23,'cd':34,}
dic.__delitem__('ab'))
print(dic)
>>> {'cd':34}
返回值:None
#直接修改原字典
判断两个字典是否相等
格式:x.__eq__(y)等同于x==y
例如:dic = {'ab':23,'cd':34,}
print(dic.__eq__({}))
>>> False
返回值:bool
#上述的y只能是字典
判断是否大于等于
格式:x.__ge__(y)等同于x>=y
返回值:bool
#字典没有该方法
访问属性
格式:x.__getattribut__(self,name)
返回值:tuple
获取指定键的值
格式:x.__getitem__(key)等同于x[key]
例如:dic = {'ab':23,'cd':34,}
print(dic.__getitem__('ab'))
>>> 23
返回值:object
判断是否大于
格式:x.__gt__(y)等同于:x>y
返回值:bool
#字典没有该方法
构造方法
格式:x.__init__(dict())
例如:dic = {1:3,2:4,}
dic.__init__(dict())
print(dic)
>>> {1: 3, 2: 4}
返回值:None
迭代器
格式:x.__iter__()等同于iter(x)
返回值:迭代器
判断是否小于等
格式:x.__le__(y)等同于x<=y
返回值:bool
#字典没有该方法
长度
格式:x.__len__()等同于len(x)
返回值:int
判断是否小于
格式:x.__lt__(y)等同于x<y
返回值:bool
#字典没有该方法
判断是否不等于
格式:x.__ne__(y)等同于x!=y
返回值:bool
创建新字典
格式:x.__new__(dict)
例如:dic = {'a':3,'b':4,}
print(dic.__new__(dict))
>>> {}
返回值:dict
内置转换方法
格式:x.__repr__(self)
返回值:dict
新增一对键值对或修改指定key的值
格式:x.__setitem__(key,value)等同于x[key]=value
例如:dic = {'a':3,'b':4,}
dic.__setitem__('c',5)
dic.__setitem__('c',9)
print(dic)
>>> {'b': 4, 'c': 9, 'a': 3}
返回值:None
字典在内存中大小,转换为字节进行计算
格式:x.__sizeof__()
例如:dic1 = {'a':3,'b':4,}
dic2 = {2:4}
print(dic1.__sizeof__())
>>> 264
print(dic2.__sizeof__())
>>> 264
返回值:int
#字典长度和内容的不同,不影响字典在内存中的大小。
2. 字典的常用函数
清空字典
格式:x.clear()
例如:dic = {'a':3,'b':4,}
dic.clear()
print(dic)
>>> {}
返回值:None
复制
格式:x.copy()
例如:dic = {'a':3,'b':4,}
print(dic.copy())
>>> {'a':3,'b':4}
返回值:dict
新建字典并指定字典值
格式:x.fromkeys(iterable,value=None)
例如:dic = {'a':3,'b':4,}
print(dic.fromkeys('cde'))
>>> {'c':None,'d':None,'e':None}
print(dic.fromkeys('de',12))
>>> {'d':12,'e':12}
返回值:dict
获取指定键的值
格式:x.get(key)
例如:dic = {'a':3,'b':4,}
print(dic.get('a'))
>>> 3
返回值:object
获取字典所有的键值对
格式:x.items()
例如:dic = {'a':3,'b':4,}
print(dic.items())
>>> dict_items([('b', 4), ('a', 3)])
返回值:list
#把字典所有的键值对以列表的元祖的形式表示
获取字典所有的键
格式:x.keys()
例如:dic = {'a':3,'b':4,}
print(dic.keys())
>>> dict_keys(['b', 'a'])
返回值:list
#把字典所有的键以列表元素的形式表示
移除指定键的值
格式:x.pop(key)
例如:dic = {'a':3,'b':4,}
print(dic.pop('a'))
>>> 3
返回值:object
#删除原字典中指定键的值,并返回删除的值
随机删除键值对
格式:x.popitem()
例如:dic = {'a':3,'b':4,}
print(dic.popitem())
>>> {'a':3}
返回值:tuple
#随机删除一个键值对,并以元祖的形式返回删除的键值对
设置字典默认值
格式:x.setdefault(key,value=None)
例如:dic = {'a':3,'b':4,}
print(dic.setdefault('c'))
>>> None
#没有设置值的默认值,则新增的键'c'默认值为None
print(dic.setdefault('d',9))
>>> 9
#当设置默认值时,新增的键'd'的值则为设置的9,返回值则为设置的值9
返回值:object
更新字典
格式:x.update(y)
例如:dic = {'a':3,'b':4,}
dic.update({'c':1})
print(dic)
>>> {'a':3,'b':4,'c':1}
返回值:None
#在原字典的基础上再合并一个字典
获取字典所有的值
格式:x.values()
例如:dic = {'a':3,'b':4,}
print(dic.values())
>>> dict_values([4, 3])
返回值:list
#把字典所有的值以列表元素的形式表示
2. 字典的操作
1. 字典的基本操作
访问
格式:dict[key]
返回值:object
修改
格式:dict[key] = value
返回值:None
删除
格式:del dict[key]
返回值:None
添加
格式:dict[key] = value
返回值:None
#添加和修改格式都一样,只是添加使用的是新的键,修改使用的是存在的键
2. 字典的遍历操作
使用for...in 遍历字典
1. 不使用字典函数的遍历
格式:for variable in dict:
使用variable
例如:dic = {'a':3,'b':5,}
for i in dic:
print(i)
>>> a
>>> b
返回值:字典的key
2. 使用函数key()遍历字典的键
格式:for variable in dict.keys():
使用variable
例如:dic = {'a':3,'b':5,}
for i in dic.keys():
print(i)
>>> a
>>> b
返回值:字典的key
#效果与省略函数keys()的效果一样
3. 使用函数values()遍历字典的值
格式:for variable in dict.values():
使用variable
例如:dic = {'a':3,'b':5,}
for i in dic.values():
print(i)
>>> 3
>>> 5
返回值:字典的values
4. 使用函数items()遍历字典的键值对
格式:for variable1,variable2 in dict.items():
使用variable1,variable2
例如:dic = {'a':3,'b':5,}
for i,j in dic.items():
print(i,j)
>>> a 3
>>> b 5
返回值:字典的键值对,两个变量分别对应字典的键和值
3. 字典的推导式
返回值为集合的推导式
1.格式:{variable for variable in dict}
例如:dic = {'a':3,'b':5,}
print({i for i in dic})
>>> {'a','b'}
返回值:set
#把字典所有的key,组建成一个集合
2.格式:{variable for variable in dict.keys()}
例如:dic = {'a':3,'b':5,}
print({i for i in dic.keys()})
>>> {'a','b'}
返回值:set
#把字典所有的key,组建成一个集合
3.格式:{variable for variable in dict.values()}
例如:dic = {'a':3,'b':5,}
print({i for i in dic.values()})
>>> {3,5}
返回值:set
#把字典所有的value,组建成一个集合
注:字典推导式也可以有带判断和多字典的导式,这里不再一一举例。
返回值为字典的推导式
格式:{variable2:variable1 for variable1,variable2 in dict.items()}
例如:dic = {'a':3,'b':5,}
print({v:k for k,v in dic.items()})
>>> {3: 'a', 5: 'b'}
返回值:dict
#字典推导式把键和值互换
稍作修改的字典推导式
格式:{variable2:(variable1+'*') for variable1,variable2 in dict.items()}
例如:dic = {'a':3,'b':5,}
print({v:(k+'*') for k,v in dic.items()})
>>> {3: 'a*', 5: 'b*'}
返回值:dict
#字典推导式把键和值互换,并进行修改
多个字典推导式
格式:{(k1+k2):(v1+v2) for k1,v1 in dict1.items() for k2,v2 in dict2.items()}
例如:dict1 = {'a':3,'b':5,}
dict2 = {'c':10,'d':20,}
print({(k1+k2):(v1+v2) for k1,v1 in dict1.items() for k2,v2 in dict.items()})
>>> {'ad': 23, 'bd': 25, 'ac': 13, 'bc': 15}
返回值:dict
带判断条件的多字典推导式
格式:{(k1*v2):(k2*v1) for k1,v1 in dict1.items() for k2,v2 in dict2.items() if 条件表达式}
例如:dict1 = {'a':3,'b':5,}
dict2 = {'c':10,'d':20,}
print({(k1*v2):(k2*v1) for k1,v1 in dict1.items() for k2,v2 in dict.items() v1 <15 and v2 < 15})
>>> {'bbbbbbbbbb': 'ccccc', 'aaaaaaaaaa': 'ccc'}
返回值:dict
Python中dict的功能介绍的更多相关文章
- Python中list的功能介绍
List的功能介绍 1. 列表的两种方法 1. 列表的内置方法 列表的相加 格式:x.__add__(y)等同于x+y 例如:list1 = [1,2,3] print(list1.__add__([ ...
- Python中set的功能介绍
Set的功能介绍 1.集合的两种函数(方法) 1. 集合的内置函数 交集 格式:x.__and__(y)等同于x&y 例如:s1 = {'a',1,} s2 = {'b',1,} s3 = { ...
- Python中tuple的功能介绍
Tuple的功能介绍 1. 元祖的两种方法 1. 元祖的内置方法 两个元祖的相加 格式:x.__add__(y)等同于x+y 例如:tu1 = (1,2,3,) print(tu1.__add__(( ...
- Python中dict详解
from:http://www.cnblogs.com/yangyongzhi/archive/2012/09/17/2688326.html Python中dict详解 python3.0以上,pr ...
- python中multiprocessing.pool函数介绍_正在拉磨_新浪博客
python中multiprocessing.pool函数介绍_正在拉磨_新浪博客 python中multiprocessing.pool函数介绍 (2010-06-10 03:46:5 ...
- laravel框架中超实用的功能介绍
本篇文章给大家带来的内容是关于laravel框架中超实用的功能介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 让lumen的dd() dump()像laravel一样优雅 1 c ...
- Docker 中的网络功能介绍 外部访问容器 容器互联 配置 DNS
Docker 中的网络功能介绍 | Docker 从入门到实践 https://vuepress.mirror.docker-practice.com/network/ Docker 允许通过外部访问 ...
- python中int的功能简单介绍
Int的功能介绍 1. 绝对值 x.__abs__()等同于abs(x) 2. 加法 x.__add__(y)等同于x+y 3. 与运算 x.__and__(y)等同于x&y 4. 布尔运算 ...
- python中的元类介绍
类也是对象 在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段,在python中也是成立的. class ObjectCreator: pass my_object = ObjectCre ...
随机推荐
- 10-TypeScript中的接口
接口是一种规约的约定,从接口继承的类必须实现接口的约定.在高级开发中,通常接口是用于实现各种设计模式的基础,没有接口,设计模式无从谈起. 定义接口: interface ILog{ recordlog ...
- python使用tesseract-ocr完成验证码识别(安装部分)
一.tesseract-ocr安装 Ubuntu版本: 1.tesseract-ocr安装 sudo apt-get install tesseract-ocr 2.pytesseract安装 sud ...
- Unity使用脚本进行批量动态加载贴图
先描述一下我正在做的这个项目,是跑酷类音游. 那么跑酷类音游在绘制跑道上的时候,就要考虑不同的砖块显示问题.假设我有了一个节奏列表,那么我们怎么将不同的贴图贴到不同的砖块上去呢? 我花了好几个小时才搞 ...
- Java面试题合集(二)
接下来几篇文章准备系统整理一下有关Java的面试题,分为基础篇,javaweb篇,框架篇,数据库篇,多线程篇,并发篇,算法篇等等,陆续更新中.其他方面如前端后端等等的面试题也在整理中,都会有的. 注: ...
- JAVA_SE基础——编码规范&代码编写规则
这次我来给大家说明下编码规范&代码编写规则 ↓ 编码规范可以帮助程序员在编程时注意一些细节问题,提高程序的可读性,让程序员能够尽快地理解新的代码,并帮助大家编写出规范的利于维护的Java代码 ...
- TortoiseGit安装与使用
公司的源码是在码云上,平时进行项目源码管理和团队开发都会使用到GIT,花了一天时间才将Git搞明白,这是一个工具,我在这里就简单说一下,其安装使用方法,也是对自己学习的总结;本文章适合于刚接触GIT的 ...
- MSIL实用指南-生成if...else...语句
if...else...语句是非常重要的选择语句,它的生成一般需要ILGenerator的DefineLabel方法和MarkLabel方法,以及Brtrue_S和Br_S指令. 一.DefineLa ...
- switchysharp设置
在线规则列表里面插入下面的网址:https://autoproxy-gfwlist.googlecode.com/svn/trunk/gfwlist.txt
- SpringBoot(四):banner的控制
banner在springboot中是一个支持可配(banner的样式,banner的颜色,banner的内容).是否显示. 1)banner显示内容配置: 默认springboot如果在src/re ...
- Oracle12c:创建主分区、子分区,实现自动分区插入效果
单表自动单个分区字段使用方式,请参考:<Oracle12c:自动分区表> 两个分区字段时,必须一个主分区字段和一个子分区字段构成(以下代码测试是在oracle12.1版本): create ...