Python字典包含了以下内置方法:

clear()函数用于删除字典内所有元素

dict1 = {'Name': 'Zara', 'Age': , 'Class': 'First'}
print('the start len %d' % len(dict1))
dict1.clear()
print('the end len %d' % len(dict1))
结果:
[python@master tmp]$ python3 c.py
the start len
the end len

copy() 函数返回一个字典的浅复制

例子1:
dict1 = {'Name': 'Zara', 'Age': , 'Class': 'First'}
dict2=dict1.copy()
print('New Dictinary : %s' % str(dict2))
结果:
[python@master tmp]$ python3 d.py
New Dictinary : {'Name': 'Zara', 'Age': , 'Class': 'First'} 例子2:
dict1 = {'user':'runoob','num':[,,]}
dict2 = dict1 # 浅拷贝: 引用对象
dict3 = dict1.copy() # 浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用 dict1['user']='root'
dict1['num'].remove() print(dict1)
print(dict2)
print(dict3)
结果
[python@master tmp]$ python3 d.py
{'user': 'root', 'num': [, ]}
{'user': 'root', 'num': [, ]}
{'user': 'runoob', 'num': [, ]}
实例中 dict2 其实是 dict1 的引用(别名),所以输出结果都是一致的,dict3 父对象进行了深拷贝,不会随dict1 修改而修改,子对象是浅拷贝所以随 dict1 的修改而修改。

fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。

dict.fromkeys(seq[, value])     seq -- 字典键值列表。    value -- 可选参数, 设置键序列(seq)的值。

seq =('Google', 'Runoob', 'Taobao')

dict = dict.fromkeys(seq)
print ("新字典为 : %s" % str(dict)) dict = dict.fromkeys(seq, )
print ("新字典为 : %s" % str(dict))
结果:
[python@master tmp]$ python3 f.py
新字典为 : {'Google': None, 'Runoob': None, 'Taobao': None}
新字典为 : {'Google': , 'Runoob': , 'Taobao': }

get() 函数返回指定键的值,如果值不在字典中返回默认值(None)

dict = {'Name': 'Zara', 'Age': , 'Class': 'First'}
print('Name: %s' % dict.get('Name'))
print('adress1: %s' % dict.get('adress','henan'))
print('adress2: %s' % dict.get('adress'))
结果:
[python@master tmp]$ python3 a.py
Name: Zara
adress1: henan
adress2: None

has_key() 函数用于判断键是否存在于字典中,如果键在字典dict里返回true,否则返回false

python3 中放弃了这个函数,用变量in来代替

dict = {'Name': 'Zara', 'Age': , 'Class': 'First'}
dict_keys=input('please input dict key: ')
if dict_keys in dict:
print(dict_keys +': %s'% dict[dict_keys])
else:
print(dict_keys +' not in dict')
结果:
[python@master tmp]$ python3 b.py
please input dict key: Name
Name: Zara

items() 函数以列表返回可遍历的(键, 值) 元组数组

dict = {'Name': 'Zara', 'Age': , 'Class': 'First'}
dict_keys=input('please input dict key: ')
if dict_keys in dict:
print(dict_keys +': %s'% dict[dict_keys])
else:
print(dict_keys +' not in dict')
结果:
[python@master tmp]$ python3 c.py
字典值 : dict_items([('Name', 'Zara'), ('Age', ), ('Class', 'First')])
Name:Zara
Age:
Class:First

keys() 函数以列表返回一个字典所有的键

dict = {'Name': 'Zara', 'Age': , 'Class': 'First'}
print("dict's keys :%s" % dict.keys())
结果:
[python@master tmp]$ python3 d.py
dict's keys :dict_keys(['Name', 'Age', 'Class'])

setdefault() 函数和get()类似, 如果键不存在于字典中,将会添加键并将值设为默认值

dict = {'Name': 'Zara', 'Age': , 'Class': 'First'}
print("dict's keys :%s" % dict.setdefault('Name',None))
print(dict)
print("dict's keys :%s" % dict.setdefault('Adress','henan'))
print(dict)
结果:
[python@master tmp]$ python3 f.py
dict's keys :Zara
{'Name': 'Zara', 'Age': , 'Class': 'First'}
dict's keys :henan
{'Name': 'Zara', 'Age': , 'Class': 'First', 'Adress': 'henan'}

update() 函数把字典dict2的键/值对更新到dict里

dict1 = {'Name': 'Zara', 'Age': , 'Class': 'First'}
print(dict1)
print('updated end')
dict2 = {'Adress': 'henan'}
dict1.update(dict2)
print(dict1)
结果:
[python@master tmp]$ python3 g.py
{'Name': 'Zara', 'Age': , 'Class': 'First'}
updated end
{'Name': 'Zara', 'Age': , 'Class': 'First', 'Adress': 'henan'}

values() 函数以列表返回字典中的所有值

dict1 = {'Name': 'Zara', 'Age': , 'Class': 'First'}
print("dict1's values : %s" % dict1.values())
结果:
[python@master tmp]$ python3 m.py
dict1's values : dict_values(['Zara', 7, 'First'])

pop() 方法删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值

dict1 = {'Name': 'Zara', 'Age': , 'Class': 'First'}
dict2=dict1.pop('Name')
print('dict1 :%s' % dict1)
print('dict2 :%s' % dict2)
结果:
[python@master tmp]$ python3 .py
dict1 :{'Age': , 'Class': 'First'}
dict2 :Zara

popitem() 方法随机返回并删除字典中的一对键和值,如果字典已经为空,却调用了此方法,就报出KeyError异常。

dict1 = {'Name': 'Zara', 'Age': , 'Class': 'First'}
dict2=dict1.popitem()
print('dict1 :%s' % dict1)
print('dict2 :%s' % str(dict2))
结果:
[python@master tmp]$ python3 .py
dict1 :{'Name': 'Zara', 'Age': }
dict2 :('Class', 'First')

我们所处的世道,总是这般复杂,走着走着,杂草丛生,荒庙破寺。走着走着,杨柳依依,桃花烂漫。走着走着,穷山恶水,夜幕深沉。走着走着,琼楼玉宇,大放光明。

——剑来《人间苦难说不得也》 ​​​​

python之字典二 内置方法总结的更多相关文章

  1. Python 数据类型常用的内置方法(二)

    目录 Python 数据类型常用的内置方法(二) 1.字符串类型常用内置方法 1.upper.lower.isupper.islower 2.startswith.endswith 3.format ...

  2. what's the python之基本运算符及字符串、列表、元祖、集合、字典的内置方法

    计算机可以进行的运算有很多种,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.字符串和列表的算数运算只能用+和*,字典没有顺序,所以不能进行算数运算和比较运算.比较运算中= ...

  3. python面向对象 : 反射和内置方法

    一. 反射 1. isinstance()和issubclass() isinstance( 对象名, 类名) : 判断对象所属关系,包括父类  (注:type(对象名) is 类名 : 判断对象所属 ...

  4. Python 数据类型常用的内置方法(三)

    目录 Python 数据类型常用的内置方法(三) 1.列表内置方法 1.sort():升序 2.reverse():颠倒顺序 3.列表比较运算 2.字典内置方法 1.对Key的操作 2.len( )- ...

  5. python之数据类型的内置方法(set、tuple、dict)与简单认识垃圾回收机制

    目录 字典的内置方法 类型转换 字典取值 修改值 计算字典长度 成员运算 删除元素 获取元素 更新字典 快速生成字典 setdefault()方法 元组的内置方法 类型转换 索引与切片操作 统计长度 ...

  6. Python 数据类型常用的内置方法(一)

    目录 Python 数据类型常用的内置方法 1.整型 int 2.浮点型 float 字符串转浮点型: 3.字符串 str 多种类型转字符型: 索引 切片 len( )方法:统计字符串长度/个数 移除 ...

  7. python基础之反射内置方法元类

    补充内置函数 isinstance(obj,Foo)   # 判断obj是不是foo的实例 issubclass()      # 判断一个类是不是另一个类的子类 反射 什么是反射? 通过字符串来操作 ...

  8. 《Python》反射、内置方法(__str__,__repr__)

    一.反射 通过字符串的形式操作对象相关的属性.(使用字符串数据类型的变量名来获取这个变量的值) Python中的一切事物都是对象(都可以使用反射) 反射类中的变量 反射对象中的变量 反射模板中的变量 ...

  9. 元组/字典/集合内置方法+简单哈希表(day07整理)

    目录 二十三.元组内置方法 二十四.字典数据类型 二十五 集合内置方法 二十五.数据类型总结 二十六.深浅拷贝 补充:散列表(哈希表) 二十三.元组内置方法 什么是元组:只可取,不可更改的列表 作用: ...

随机推荐

  1. PCL中有哪些可用的PointT类型(1)

    博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=266 为了涵盖能想到的所有可能的情况,PCL中定义了大量的point类型.下 ...

  2. 浏览器输入url后发生的事情以及每步可以做的优化

    首先总结下输入url按下回车后的大致流程: 查询url的ip地址. 建立tcp连接,连接服务器. 浏览器发起http/https请求. 服务器响应浏览器的请求. 网页的解析与渲染. 下面分析每个过程 ...

  3. 【查看修复HDFS中丢失的块】org.apache.hadoop.hdfs.BlockMissingException: Could not obtain block: BP

    首先得好看有多少损坏的文件,其中需要使用Hadoop的fsck命令: 以下是官方解释 用法:  hadoop fsck  //路径 以上将会展示该路径下所有受损的文件 最后用-delete 可以清除掉 ...

  4. (转载)悟透JavaScript

    引子 编程世界里只存在两种基本元素,一个是数据,一个是代码.编程世界就是在数据和代码千丝万缕的纠缠中呈现出无限的生机和活力. 数据天生就是文静的,总想保持自己固有的本色:而代码却天生活泼,总想改变这个 ...

  5. liunx 中如何删除export设置的环境变量

    1,网上有资料说,export命令添加的环境变量,利用export -p 删除: 例如:export  KUBECONFIG="/etc/kubernetes/admin.conf" ...

  6. Windows WSL 安装OpenCV

    安装WSL 启动WSL功能 首先启动WSL功能,下面提供两个办法 Powershell --> 管理员权限 --> 运行 Enable-WindowsOptionalFeature -On ...

  7. 使用青花瓷(charles)抓包

    官网下载charles: https://www.charlesproxy.com/download/ MAC & Apple 打开青花瓷charles 找到本地IP:青花瓷里面Help-&g ...

  8. cobaltr strike入门使用教程-1

    前言 Cobalt Strike分为服务端和客户端两个部分从而实现分布式操作,协同作战.工具有linux和windows版本. 1.创建服务端 找到解压目录进入 ./teamserver [IP] [ ...

  9. java api操作

    java api操作 导入开发包 将hbase安装包中lib下包导入java项目   创建表   Configuration conf = HBaseConfiguration.create(); c ...

  10. Linux系统定时任务介绍

    定时任务Crond介绍 1)crond是什么? 守护进程:持续运行的程序,不退出的进程. 为什么要使用crond定时任务呢? 1)Linux下定时任务的种类 at crontab  anacron 2 ...