dict

内置字典,使用key-value存储,具有极快的查找速度。

>>>d = {'michael': 95, 'bob': 75, 'tracy': 85}

>>>d['michael']

95

>>>d['admin'] = 67

>>>d['admin']

67

一个key对应一个value,多次对一个key放入value,后面的值会把前面的值冲掉。

注意dict的key必须是不可变的对象(因为是通过key来计算位置)。

要避免 key 不存在的错误,有两种办法,一是通过 in 判断 key 是否存在:
>>> 'Thomas' in d
False
二是通过 dict 提供的 get 方法,如果 key 不存在,可以返回 None,或者自己指定的 value:
>>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1
注意:返回 None 的时候 Python 的交互式命令行不显示结果。
要删除一个 key,用 pop(key)方法,对应的 value 也会从 dict 中删除:
>>> d.pop('Bob')
75
>>> d
{'Michael': 95, 'Tracy': 85}
请务必注意,dict 内部存放的顺序和 key 放入的顺序是没有关系

set

>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}
重复元素在 set 中自动被过滤:
>>> s = set([1, 1, 2, 2, 3, 3])
>>> s
{1, 2, 3}
通过 add(key)方法可以添加元素到 set 中,可以重复添加,但不会有效果:
>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.add(4)
>>> s
{1, 2, 3, 4}
通过 remove(key)方法可以删除元素:
>>> s.remove(4)
>>> s
{1, 2, 3}
set 可以看成数学意义上的无序和无重复元素的集合,两个 set 可以做数学意义上的交集、并集等操作:
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}

>>> a = 'abc'
>>> b = a.replace('a', 'A')
>>> b
'Abc'
>>> a
'abc'
对于不变对象来说,调用对象自身的任意方法,也不会改变该对
象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证
了不可变对象本身永远是不可变的.

最新文章

  1. springMVC+ajax 文件上传 带进度条
  2. canvas标签(1)--线条、矩形、圆形、文本、阴影、抛小球
  3. CefBrowser 复制图片解决办法
  4. JDBC进行批处理
  5. 转: Python集合(set)类型的操作
  6. lambda表达式————一看就会
  7. tomcat7.0的源码下载
  8. 基于Tkinter利用python实现颜色空间转换程序
  9. Java 库:为 Java 程序员而生的 10 + 最佳库
  10. JAVA课程设计
  11. c++ primer第15章这几个例子中的构造函数形式不太理解
  12. [Android] ScrollView can host only one direct child
  13. Ubuntu下编写终端界面交互式C++小程序的一些Trick(小技巧,gnome-terminal)
  14. centOS和windows7双系统下重装windows后恢复centOS引导
  15. 加减plugin
  16. JS----click3种方法
  17. 阿里云oss如何上传一个文件夹
  18. Elasticsearch 简介
  19. butterknife 配置了点击和绑定无效
  20. 高斯混合模型Gaussian Mixture Model (GMM)

热门文章

  1. Mybatis/Ibatis,数据库操作的返回值
  2. Ubuntu16.04.3深度学习环境搭建
  3. uni-app学习记录06-Vuex简单使用
  4. codeforces 616D
  5. 3-7 彻底搞清楚unicode和utf8编码
  6. 开源项目使用 appveyor 自动构建
  7. H3C Hosts文件
  8. linux 系统挂起
  9. 面试中常考的字符串操作方法大全,包含ES6
  10. C# 转换类型和字符串