1 def clear(self): # real signature unknown; restored from __doc__
2         """ D.clear() -> None.  Remove all items from D. """
3         pass

1 #练习1、清空字典(置空)
2 li = {"key1":"value1","key2":"value2"}
3 li.clear()     #清空所有
4 print(li)
5 #执行结果:
6 {}

1 def copy(self): # real signature unknown; restored from __doc__
2         """ D.copy() -> a shallow copy of D """
3         pass

1 #练习2、浅拷贝
2 li = {"key1":"value1","key2":"value2","key3":"value3"}
3 dd = li.copy()    #浅拷贝
4 print(li)
5 print(dd)
6 #执行结果:
7 {'key2': 'value2', 'key3': 'value3', 'key1': 'value1'}
8 {'key2': 'value2', 'key3': 'value3', 'key1': 'value1'}

1  @staticmethod # known case
2     def fromkeys(*args, **kwargs): # real signature unknown
3         """ Returns a new dict with keys from iterable and values equal to value. """
4         pass

1 #练习3、迭代字符串生成同一值,放到新字典
2 li = {"key1":"value1","key2":"value2","key3":"value3"}
3 xin = li.fromkeys("key1","444")
4 print(xin)
5 aa = li.fromkeys("ttb","value1")  #分别迭代字符串生成同一个值,放在新字典中,与原字典好像没什么关系
6 print(aa)
7 #执行结果:
8 {'1': '444', 'y': '444', 'e': '444', 'k': '444'}
9 {'b': 'value1', 't': 'value1'}

1 def get(self, k, d=None): # real signature unknown; restored from __doc__
2         """ D.get(k[,d]) -> D[k] if k in D, else d.  d defaults to None. """
3         pass

1 #练习4、获取指定键的值
2 li = {"key1":"value1","key2":"value2","key3":"value3"}
3 aa = li.get("key2")    #获取指定键的值
4 print(aa)
5 #执行结果
6 value2

1 def items(self): # real signature unknown; restored from __doc__
2         """ D.items() -> a set-like object providing a view on D's items """
3         pass

1 #练习5、获取字典所有内容
2 li = {"key1":"value1","key2":"value2","key3":"value3"}
3 aa = li.items()    #获取字典所有
4 print(aa)
5 #执行结果:
6 dict_items([('key1', 'value1'), ('key3', 'value3'), ('key2', 'value2')])

1 def keys(self): # real signature unknown; restored from __doc__
2         """ D.keys() -> a set-like object providing a view on D's keys """
3         pass

1 练习6、获取字典中所有键
2 li = {"key1":"value1","key2":"value2","key3":"value3"}
3 aa = li.keys()    #获取字典所有键
4 print(aa)
5 #执行结果:
6 dict_keys(['key2', 'key3', 'key1'])

1 def pop(self, k, d=None): # real signature unknown; restored from __doc__
2         """
3         D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
4         If key is not found, d is returned if given, otherwise KeyError is raised
5         """
6         pass

1 #练习7、删除指定键
2 li = {"key1":"value1","key2":"value2","key3":"value3"}
3 aa = li.pop("key2")    #删除指定键,连带删除值
4 print(li)
5 #执行结果
6 {'key1': 'value1', 'key3': 'value3'}

1 def popitem(self): # real signature unknown; restored from __doc__
2         """
3         D.popitem() -> (k, v), remove and return some (key, value) pair as a
4         2-tuple; but raise KeyError if D is empty.
5         """
6         pass

1 #练习8、随机删除键值
2 li = {"key1":"value1","key2":"value2","key3":"value3"}
3 aa = li.popitem()    #随机删除指定键,连带删除值
4 print(li)
5 #执行结果:()随机删掉一个
6 {'key3': 'value3', 'key1': 'value1'}

1 def setdefault(self, k, d=None): # real signature unknown; restored from __doc__
2         """ D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D """
3         pass

 1 #练习9、输出指定键值,键不存在则加入字典
 2 li = {"key1": "value1", "key2": "value2", "key3": "value3"}
 3 aa = li.setdefault("key1","111")  # 键存在字典中时,相当于li.get("key1"),不管后面加什么都没影响
 4 print(aa)
 5 bb = li.setdefault("kkk","111")   #键不存在时,输入值,并且该键值会加入到字典中
 6 print(bb)
 7 print(li)
 8 执行结果:
 9 value1
10 111
11 {'key2': 'value2', 'key1': 'value1', 'kkk': '111', 'key3': 'value3'}

1 def update(self, E=None, **F): # known special case of dict.update
2         """
3         D.update([E, ]**F) -> None.  Update D from dict/iterable E and F.
4         If E is present and has a .keys() method, then does:  for k in E: D[k] = E[k]
5         If E is present and lacks a .keys() method, then does:  for k, v in E: D[k] = v
6         In either case, this is followed by: for k in F:  D[k] = F[k]
7         """
8         pass

 1 #练习10、更新字典
 2 li = {"key1": "value1", "key2": "value2", "key3": "value3"}
 3 aa = {"key1":"111","key2":"222"}
 4 li.update(aa)      #aa是新的,把新的放进旧的,如果键相同则改变值,如果键不同则直接加入
 5 print(li)
 6 li1 = {"key1": "value1", "key2": "value2", "key3": "value3"}
 7 aa1 = {"key1":"111","key2":"222"}
 8 aa1.update(li1)
 9 print(aa1)
10 #执行结果:
11 {'key3': 'value3', 'key1': '111', 'key2': '222'}
12 {'key3': 'value3', 'key1': 'value1', 'key2': 'value2'}

1 def values(self): # real signature unknown; restored from __doc__
2         """ D.values() -> an object providing a view on D's values """
3         pass

1 #练习11、输出字典所有值
2 li = {"key1": "value1", "key2": "value2", "key3": "value3"}
3 aa = li.values()    #输出字典所有的值
4 print(aa)
5 执行结果:
6 dict_values(['value3', 'value2', 'value1'])

转载于:https://www.cnblogs.com/repo/p/5415045.html

Python字典部分源码分析,字典是无序的相关推荐

  1. 【python】Dpark源码分析

    关于Dpark的PDF: http://velocity.oreilly.com.cn/2011/ppts/dpark.pdf 源码分析: Dpark/Spark中最重要的核心就是RDD(弹性分布式数 ...

  2. Python Requests库源码分析

    1. Requests库简介 书籍是人类进步的阶梯,源码是程序员进步的阶梯.为了进步,我们就要不断地阅读源码,提升自己的技术水平.今天我们来剖析一下Python的Requests库. Requests ...

  3. GCN的Python实现与源码分析

    目录 一.GCN基本介绍 二.GCN的Keras实现 Cora 数据集预处理 1. 将Cora节点的类别标签进行one-hot编码 2. 将Cora.cite文件转化为邻接矩阵形式 3. 将数据集划分 ...

  4. Python之socketserver源码分析

    一.socketserver简介 socketserver是一个创建服务器的框架,封装了许多功能用来处理来自客户端的请求,简化了自己写服务端代码.比如说对于基本的套接字服务器(socket-based ...

  5. Redis 数据结构-字典源码分析

    2019独角兽企业重金招聘Python工程师标准>>> 相关文章 Redis 初探-安装与使用 Redis 数据结构-字符串源码分析 本文将从以下几个方面介绍 前言 字典结构图 字典 ...

  6. JAVA集合专题+源码分析

    文章目录 Java集合专题 集合和数组的区别 数组 集合 区别 集合体系结构介绍 单列集合 [Collection ] Collection接口 迭代器 迭代器原理 增强for循环 List接口 对集 ...

  7. Python微型Web框架Bottle源码分析

    Bottle 是一个快速,简单和轻量级的 WSGI 微型 Web 框架的 Python.它作为单个文件模块分发,除了 Python 标准库之外没有依赖关系. 选择源码分析的版本是 Release 于 ...

  8. Python之美[从菜鸟到高手]--urllib源码分析

    urllib提供了较好的封装,可以很方便的读取http,ftp,file等协议数据,本篇只关注http.urllib的底层还是使用httplib模块,相比于httplib,urllib接口更加好用,功 ...

  9. python词云需要导入什么包_[python] 词云:wordcloud包的安装、使用、原理(源码分析)、中文词云生成、代码重写...

    词云,又称文字云.标签云,是对文本数据中出现频率较高的"关键词"在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据的主要表达意思.常见于博客. ...

最新文章

  1. 让我来教你 PHP 函数调用
  2. Linux环境下搭建 MySQL8 主从复制
  3. C#中多线程和定时器是不是有冲突?
  4. HTML表格,table,thead,tbody,tfoot,th,tr,td,的属性以及跨行,跨列
  5. imagick用法!
  6. 建站如此容易:WordPress3.9建站简明视频教程完成发布啦
  7. c语言列出1~100所有素数_一次找出范围内的所有素数,埃式筛法是什么神仙算法?...
  8. PHP中文分词扩展 SCWS
  9. 软件测试自学指南---从入门到精通
  10. css电子表数字,使用css实现电子数字效果
  11. OCR 常用软件对比
  12. Angular内置指令
  13. 截止失真放大电路_模拟放大器
  14. 这家山炮公司,居然让腾讯又有了梦想!?
  15. copyproperties爆红_一屋模玩怎样不能价值300万?分分钟用超.......
  16. kali获取同局域网设备的图片信息
  17. 怎么看计算机电源型号,电脑电源铭牌怎么看?台式机电源铭牌知识扫盲 拒绝虚标!...
  18. 扒开思派健康招股书:大数据的面子,“卖药”的里子
  19. 充分统计量 因子分解定理证明 (转自维基)
  20. Windows10 笔记本电脑移动硬盘设备未就绪

热门文章

  1. 软件测试系统测试的定义,如何定义软件测试人员的测试范围
  2. 内存卡损坏 linux 修复,Linux系统恢复工具
  3. 位运算符Java与详解_java位运算符详解
  4. python应用实例论文_番外篇——Python多进程应用实例一则
  5. java两个jre_为什么会有两个jre?060925(原创)
  6. 机器学习(16)ROC曲线与AUC指标(癌症分类的模型检测--AUC指标)
  7. 一、网页端文件流的传输
  8. C++读取文件名,过滤文件路径及后缀
  9. js去掉前后空格的函数_2020年最火爆的Vue.js面试题
  10. ORB特征原理(浅显易懂)