字典:它是一个容器类型,能存储任意个数的Python对象,也包括其他容器类型,Python的字典是作为可变的哈希表实现的
映像类型中的数据是无序排列的
 
可以用工厂方法dict()来创建字典,也可以用fromkeys()来创建一个默认键
 
检查一个字典中是否有某个键的最好方法是用字典的has_key()方法,或者in 或not in
 
两个字典进行比较时,先比较两个字典元素数,当元素数相同时比较键大小,当键相等比较值
比较算法:
 
映射类型的內建函数:
hash()函数,用来判断某个对象是否可以做一个字典的键。(将一个对象作为参数传递给hash(),会返回这个对象的哈希值)
映射类型的內建方法:
update()更新一个字典内容
copy()返回一个字典的副本
 
不允许一个键对应多个值
键必须是可哈希的,所有不可变类型都是可哈希的(不可变类型:string,integer,tuple   可变类型:list,dict)
集合类型:set称作由不同的元素组成的集合,集合对象是一组无序排列的可哈希的值。并且集合成员可以做字典中的键。
其中集合分为可变集合(set)和不可变集合(frozenset)。可变集合可以添加和删除元素,不可变集合不可以。(可变集合不是可哈希的,不能作为字典的键,不可变集合可以)
创建集合用集合的工厂方法set()和frozenset()
>>> s=set('Hello')
>>> s
set(['H', 'e', 'l', 'o'])
>>> a = frozenset('Hello')
>>> a
frozenset(['H', 'e', 'l', 'o'])
更新集合:集合内建的方法和操作符添加和删除集合的成员:
>>> s.add('Python')
>>> s
set(['Python', 'H', 'e', 'l', 'o'])
集合等价/不等价:相同或不同的集合之间作比较。两个集合相等是指对每个集合而言当且仅当其中一个集合中的每个成员同时也是另一个集合的成员
集合类型操作符:
(1)联合(|)
两个集合的联合是一个新的集合,该集合中的每个元素都至少是一个集合的成员
(2)交集(&)
等同于集合的AND
(3)差补/相对补集(-)
指的是一个集合C,该集合中的元素只属于集合s而不属于集合t
(4)对称差分(^)
两个集合的对称差分是指另外一个集合C,该集合上的元素只能是属于s或集合t的成员不能同时属于两个集合
集合类型操作符:
(|=)更新方法:从已存在的集合中添加多个成员
(&=)保留操作:保留与其他集合的共有成员
(-=)差更新操作:返回一个集合,该集合中的成员是集合s去掉集合t中元素后剩余的元素
(^=)对称差分更新操作:返回一个集合,该集合中的成员仅是原集合s或仅是另一集合t中成员
 
内建函数:
len(),
工厂函数:set(),frozenset()
内建方法

Python核心编程(第七章)--映像和集合类型的更多相关文章

  1. Python核心编程读笔 6: 映射和集合类型

    第七章 映射和集合能力 一 字典(python中唯一的映射类型) 1 基本 创建和赋值: 正常创建:>>>dict = {'name':'earth', 'port':80} 用工厂 ...

  2. 【4】python核心编程 第七章-映射和集合类型

    1.映射类型的相关函数 函数 操作 dict([container]) 创建字典的工厂函数.如果提供了容器类(container) , 就 用其中的条目填充字典,否则就创建一个空字典. len(map ...

  3. 【7】python核心编程 第十一章-函数和函数式编程

    1.*函数(与方法)装饰器 装饰器背后的主要动机源自python 面向对象编程.装饰器是在函数调用之上的修饰.这些修饰 仅是当声明一个函数或者方法的时候,才会应用的额外调用. 装饰器的语法以@开头,接 ...

  4. python核心编程-第三章-个人笔记

    1.语句和语法 (1)反斜杠"\"表示语句继续.python良好的编程习惯是一行最后不超过80个字符,一行字符过多时便须用到反斜杠换行继续该语句. PS:在使用小括号.中括号.大括 ...

  5. windows核心编程---第七章 用户模式下的线程同步

    用户模式下的线程同步 系统中的线程必须访问系统资源,如堆.串口.文件.窗口以及其他资源.如果一个线程独占了对某个资源的访问,其他线程就无法完成工作.我们也必须限制线程在任何时刻都能访问任何资源.比如在 ...

  6. 【1】python核心编程 第三章

    1.继续( \ ) 有两种例外情况一个语句不使用反斜线也可以跨行.在使用闭合操作符时,单一语句可以跨多行,例如:在含有小括号.中括号.花括号时可以多行书写.另外就是三引号包括下的字符串也可以跨行书写 ...

  7. python核心编程-第三章-习题

    1.这是python的语言特性,python先创建对象,在给变量赋值时,不需要定义变量的名称和类型,它实际是用变量引用对象.变量类型在给变量赋值时自动声明 2.原因类似变量无须声明类型 3.pytho ...

  8. Python核心编程笔记 第二章

    2.1   程序输出:print语句         可以使用print语句显示变量的字符串表示,或者仅用变量名查看该变量的原始值. 2.2   程序输出和raw_input()内建函数       ...

  9. Windows核心编程 第七章 线程的调度、优先级和亲缘性(下)

    7.6 运用结构环境 现在应该懂得环境结构在线程调度中所起的重要作用了.环境结构使得系统能够记住线程的状态,这样,当下次线程拥有可以运行的C P U时,它就能够找到它上次中断运行的地方. 知道这样低层 ...

随机推荐

  1. C程序设计语言练习题1-8

    练习1-8 编写一个统计空格.制表符与换行符个数的程序. 代码如下: #include <stdio.h> // 包含标准库的信息. int main() // 定义名为main的函数,它 ...

  2. JS 闭包问题

    一.什么是闭包?“官方”的解释是:所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. 相信很少有人能直接看懂这句话,因为他描述的太 ...

  3. 兼容IE与firefox、chrome的css 线性渐变(linear-gradient)

    现行渐变首先看下示例(1)垂直渐变 (2)垂直渐变 IE系列 filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr='#FF ...

  4. Jasper_pass data_from main report to subReport (local CSV)

    <dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></dataSourceExpression>< ...

  5. iOS开发中的Html解析方法

    iOS开发中的Html解析方法 本文作者为大家介绍了在iOS开发中的Html解析方法,并同时提供了Demo代码的下载链接,Demo 解析了某个网站(具体可在代码中查看)的html网页,提取了图片以及标 ...

  6. Android学习之AndroidManifest.xml清单之<uses-feature>

    无意之中看了几个小时的官方英文文档,关于<uses-feature>的介绍.有必要在这里记录一下,应该有很多人不知道<uses-feature>到底是做什么用的,因为我们平时根 ...

  7. 在NGINX作反向代理,CI(CodeIgniter)的PHP框架下限制管理目录的IP的实现

    这个搞得有点久,不过,还算完美解决. 主要是前端NGINX,后端也是NGINX. 前端的NGINX不好作相关的URL权限限制,因为所有的URL在CI里都要经过INDEX.PHP重定向. 并且,在后端N ...

  8. Codeforces 533B Work Group

    http://codeforces.com/problemset/problem/533/B 题目大意: 每个人有一个直接的领导,1是总裁,现在要找一个最大的集合,每个领导领导的人的数量都是偶数,问最 ...

  9. Qt多国语言QT_TR_NOOP和QT_TRANSLATE_NOOP

    文章来源:http://devbean.blog.51cto.com/448512/245063/ 在代码中,我们使用tr()将需要翻译的字符串标记出来.lupdate工具就是提取出tr()函数中的相 ...

  10. 子查询有OR无法展开,改写成union

    SELECT A.*   FROM (SELECT CD.*,                nvl(CV.SUM_CI_BALANCE, 0) as SUM_CI_BALANCE,         ...