Python核心编程学习笔记之映射类型(上)

 根据核心编程第二版学习Python3.x的内容,可能有些欠缺,有些方法在3.x中已经不提供了,就暂时先略过了。等以后再对比2.x和3.x的区别,作下笔记吧

1.    Python中字典的定位:

a)      字典是python中唯一的映射类型,通常被认为是可变的哈希表。

b)     字典对象是可变的,能存储任意多个python对象。

c)      字典是Python中最强大的数据类型之一

2.    字典(dict)和序列类型容器类(列表和元组)的区别:

a)      存储和访问数据的方式不同,序列类型只用数字类型的键,映射可以使用其他对象类型作为键,比如数字和字符串,也可以混用数字和字符串作为键;

b)     字典中的数据是无需排列的,序列中的数据时有序的。

3.    如何得到dict的有序集合:

字典(dict)中的有序集合只能是键的集合或者值得集合。方法keys()或value()返回一个列表,是可排序的。还可以使用items()得到包含键值对的元组的列表排序

4.    字典(dict)的语法:

语法格式: 键:值  一个键值对成为一个元素

a)      >>>dict1={}  à创建一个空值的字典

b)     >>>dict1={‘key’:’value’}  à设置字典的键值对

c)      >>>dict1={‘key1’:’value1’}  à 这样dict1又重新映射到{‘key1’:’value1’}。{‘key’:’value’}就作废了。

d)      >>>dict1[‘key2’]=’value2’  à 如果字典中不存在该键就添加新的键值对,存在该键就会替换掉原来的值。如果dict1还未赋过值,则这句话会报错

e)      >>>deldict1[‘key2’]  à删除字典对象中键为“key2”的条目

f)       >>>dict1.clear()  à清空dict1中的所有内容

g)      >>>del dict1  à删除dict1

h)     >>>dict1.pop(‘key1’)  à删除并返回键为‘key1’的值

笔记提醒:

       避免使用内建的对象名字作为变量的标示符。虽然编译器允许,但是你能确定你不出错吗?

5.    Python怎么查找值呢?

对了通过键查找,就像这样dict1[‘key1’],当然你得有dict1这个对象并且还得有键”key1”才行哦!!否则有错哦!!

 

       好像还有件事,我怎么确定字典中是否有”key1”或者”key3”键呢?

   差点忘了,看这

>>>’key1’ in dict1  à存在”key1”键,返回True,否则就返回False

6.    字典的内建函数和工厂函数

标准类型函数【type()、str()】

type()和str()比较简单,type(对象)  à 返回对象类型

str(对象) à返回字符串!看图知道有啥区别了吧

PS:cmp()在3.x中不支持,网传的(a>b)- (a<b) 出错,暂时跳过,等待中

字典对象间比较顺序为:字典长度à字典键à字典值,全都相同时,返回0值。

 【dict()、len()】

dict() 工厂函数被用来创建字典。如果不提供参数,会生成空字典。当容器类型对象做为一个参数传 递给方法 dict() 时很有意思。如果参数是可以迭代的,即,一个序列,或是一个迭代器,或是一个 支持迭代的对象,那每个可迭代的元素必须成对出现。在每个值对中,第一个元素是字典的键、第二个元素是字典中的值。见 Python 文档里关于 dict()的例子:

>>> dict(zip(('x','y'), (1, 2)))
{'y': 2, 'x': 1}
>>> dict([['x', 1], ['y', 2]])
{'y': 2, 'x': 1}
>>> dict([('xy'[i-1], i) for i in range(1,3)])
{'y': 2, 'x': 1}

 

 len() 可以用在序列、映像和集合上,对字典调用len()会返回所有元素的数据。

时间: 2024-09-22 13:30:07

Python核心编程学习笔记之映射类型(上)的相关文章

python网络编程学习笔记(二):socket建立网络客户端_python

1.建立socket 建立socket对象需要搞清通信类型和协议家族.通信类型指明了用什么协议来传输数据.协议的例子包括IPv4.IPv6.IPX\SPX.AFP.对于internet通信,通信类型基本上都是AF_INET(和IPv4对应).协议家族一般表示TCP通信的SOCK_STREAM或者表示UDP通信的SOCK_DGRAM.因此对于TCP通信,建立一个socket连接的语句为:s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)对于UDP通

python网络编程学习笔记(一)_python

学习用书:<python 网络编程基础>作者John Goerzen 第一部分底层网络学习         Python提供了访问底层操作系统Socket接口的全部方法,需要的时候这些接口可以提供灵活而强有力的功能. (1)基本客户端操作         在<python 网络编程基础>一书中,作者列出了一个简单的Python客户端程序,具体如下: 复制代码 代码如下: import socket,sysport =70host=sys.argv[1] filename=sys.a

python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)_python

xml.dom篇     DOM是Document Object Model的简称,XML 文档的高级树型表示.该模型并非只针对 Python,而是一种普通XML 模型.Python 的 DOM 包是基于 SAX 构建的,并且包括在 Python 2.0 的标准 XML 支持里. 一.xml.dom的简单介绍 1.主要方法: minidom.parse(filename):加载读取XML文件doc.documentElement:获取XML文档对象node.getAttribute(Attrib

python网络编程学习笔记(六):Web客户端访问_python

6.1 最简单的爬虫 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成.python的urllib\urllib2等模块很容易实现这一功能,下面的例子实现的是对baidu首页的下载.具体代码如下: 复制代码 代码如下: import urllib2page=urllib2.urlopen("http://www.baidu.com")print page.read() 6.2 提交表单数据 (1)用GET方法提交数据提交表单的GET方法是把表单数据

python网络编程学习笔记(三):socket网络服务器_python

1.TCP连接的建立方法 客户端在建立一个TCP连接时一般需要两步,而服务器的这个过程需要四步,具体见下面的比较. 步骤 TCP客户端 TCP服务器 第一步 建立socket对象  建立socket对象 第二步 调用connect()建立一个和服务器的连接 设置socket选项(可选) 第三步 无 绑定到一个端口(也可以是一个指定的网卡) 第四步 无 侦听连接 下面具体来讲这四步的建立方法: 第一步,建立socket对象:这里与客户端一样,依然是: s=socket.socket(socket.

python网络编程学习笔记(五):socket的一些补充_python

1.半开放socket 利用shutdown()函数使socket双向数据传输变为单向数据传输.shutdown()需要一个单独的参数,该参数表示了如何关闭socket.具体为:0表示禁止将来读:1 表示禁止将来写:2表示禁止将来读和写. 2.timeouts控制超时 调用socket的settimeout()函数,向其传递参数,表明超时时间设置.当访问一个socket,如果经过了参数设定的时间后,什么都没有发生,则会产生一个socket.timeout异常.例如:当程序运行后,会等待数据传入.

python网络编程学习笔记(10):webpy框架_python

django和webpy都是python的web开发框架.Django的主要目的是简便.快速的开发数据库驱动的网站.它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包.这使得Django具有很强的可扩展性.它还强调快速开发和DRY(Do Not Repeat Yourself)原则.webpy小巧,简单,实用,可以快速的完成简单的web页面.这里根据webpy Cookbook简要的介绍一下we

python核心编程--笔记(不定时跟新)

的解释器options: 1.1 –d   提供调试输出 1.2 –O   生成优化的字节码(生成.pyo文件) 1.3 –S   不导入site模块以在启动时查找python路径 1.4 –v   冗余输出(导入语句详细追踪) 1.5 –m mod 将一个模块以脚本形式运行 1.6 –Q opt 除法选项(参阅文档) 1.7 –c cmd 运行以命令行字符串心事提交的python脚本 1.8 file   以给定的文件运行python脚本 2 _在解释器中表示最后一个表达式的值. 3 prin

拒绝从入门到放弃_《Python 核心编程 (第二版)》必读目录

目录 目录 关于这本书 必看知识点 最后 关于这本书 <Python 核心编程 (第二版)>是一本 Python 编程的入门书,分为 Python 核心(其实并不核心,应该叫基础) 和 高级主题 两大部分,以 Python 2.x 作为主要演示版本,涵盖的知识面广,知识点较齐全,代码多且好理解,但对 Python 版本特性的内容太久远,不合时宜. 整体来说 Python 核心 部分是主要内容,高级主题 部分作为应用扩展内容.后半部分篇幅较短,内容不够深入,只到了解的层面,好在横向够广(每一个主