- 浏览: 518832 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (310)
- PHP (46)
- Java (50)
- Perl (0)
- Bash (5)
- C# (9)
- JavaScript (5)
- InDesign (7)
- 百宝箱 (5)
- 排错 (3)
- 招聘 (5)
- PHP他山之石 (3)
- SQL(DML) (10)
- Flex (15)
- LAMP (1)
- DIV+CSS (1)
- C#2008 (4)
- LOGO (7)
- WorkLog (1)
- 工作 (26)
- Groovy (7)
- 海量数据 (4)
- C/C++ (1)
- Android (1)
- PYTHON (13)
- Java开发实战1200例 (1)
- Java枚举与泛型 (16)
- Java基础应用 (24)
- poj (3)
- Java数组与集合 (18)
- 疑难解析 (3)
- JavaWeb (8)
- Jython (2)
- 成功之路 (0)
- Golang (2)
- Spring (2)
- 微信小程序 (0)
最新评论
-
DawnBells:
...
java.util.concurrent 之六:使用Future类和Callable类 -
kanglecjr:
http://tieba.baidu.com/f?kz=101 ...
泰语字母好看的手写体 -
zxjlwt:
学习了。http://surenpi.com
java.util.concurrent 之六:使用Future类和Callable类 -
spring_springdata:
java jsoup开源框架demo使用实例教程源代码下载:h ...
JSOUP获取网页数据返回403错误(403 error loading URL,connection类) -
narochids:
MARK!
JavaScript+Ajax实例大全(1521例以上),可以随编辑随执行
Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. #4.1字典的使用 >>> names=['Alice','Beth','Cecil','Dee-Dee','Earl'] >>> numbers=['2341','9102','3158','042','5551'] >>> names=['Alice','Beth','Cecil','Dee-Dee','Earl'] >>> numbers=['2341','9102','3158','042','5551'] >>> numbers[names.index('Cecil')] '3158' >>> 0142 98 >>> 0912 SyntaxError: invalid token >>> 0812 SyntaxError: invalid token #4.2创建和使用字典 >>> phonebook={'Alice':'2341','Beth':'9102','Cecil':'3258'} >>> phonebook['Cecil'] '3258' #4.2.1 dict函数 >>> items=[('name','Gumby'),('age',42)] >>> d = dict(items) >>> d {'age': 42, 'name': 'Gumby'} >>> d['name'] 'Gumby' >>> d = dict(name='Gumby', age=42) >>> d {'age': 42, 'name': 'Gumby'} #4.2.2 基本字典操作 #len(d)返回d中项(键值对)的数量 #d[k]返回关联到键k上的值 #d[k]=v将值v关联到键k上 #del d[k]删除键为k的项 #k in d检查d中是否包含键为k的项 #键的类型:字典的键可以是整型,浮点型(实型),字符串或元组. 字典的键可以是任何不可变类型. #在字典中检查键的成员资格比在列表中检查值的成员资格更有效,数据结构的规模越大,两者的效率差距越明显 >>> x=[] >>> x[42]='Foobar' Traceback (most recent call last): File "<pyshell#24>", line 1, in <module> x[42]='Foobar' IndexError: list assignment index out of range >>> x={} >>> x[42]='Foobar' >>> x {42: 'Foobar'} #代码清单4-1 字典示例 #4.2.3 字典的格式化字符串 >>> phonebook {'Beth': '9102', 'Alice': '2341', 'Cecil': '3258'} >>> "Cecil's phone number is %(Cecil)s. " % phonebook "Cecil's phone number is 3258. " >>> template = '''<html> <head><title>%(title)s</title></head> <body> <h1>%(title)s</h1> <p>%(text)s</p> </body>''' >>> data = {'title':'My Home Page', 'text':'Welcome to my home page!'} >>> print template % data <html> <head><title>My Home Page</title></head> <body> <h1>My Home Page</h1> <p>Welcome to my home page!</p> </body> #4.2.4 字典方法 #1.clear方法 >>> d={} >>> d['name']='Gumby' >>> d['age']=42 >>> d {'age': 42, 'name': 'Gumby'} >>> returned_value = d.clear() >>> d {} >>> print returned_value None >>> x={} >>> y=x >>> x['key']='value' >>> y {'key': 'value'} >>> x={} >>> y {'key': 'value'} >>> >>> x={} >>> y=x >>> x['key']='value' >>> y {'key': 'value'} >>> x.clear() >>> y {} #2.copy方法,这个方法实现的是浅复制(shallow copy) >>> x={'username':'admin', 'machines':['foo','bar','baz']} >>> y=x.copy() >>> y['username']='mlh' >>> y['machines'].remove('bar') >>> y {'username': 'mlh', 'machines': ['foo', 'baz']} >>> x {'username': 'admin', 'machines': ['foo', 'baz']} #使用深复制(deep copy), 复制一个副本 >>> from copy import deepcopy >>> d={} >>> d['names']=''Alfred','Bertrand'] SyntaxError: invalid syntax >>> d['anmes']=['Afred','Bertrand'] >>> c=d.copy() >>> c {'anmes': ['Afred', 'Bertrand']} >>> d['names']=['Alfred','Bertrand'] >>> d {'names': ['Alfred', 'Bertrand'], 'anmes': ['Afred', 'Bertrand']} >>> d.clear() >>> d['names']=['Alfred','Bertrand'] >>> c=d.copy() >>> c {'names': ['Alfred', 'Bertrand']} >>> dc=deepcopy(d) >>> d['names'].append('Clive') >>> c {'names': ['Alfred', 'Bertrand', 'Clive']} >>> dc {'names': ['Alfred', 'Bertrand']} #3.fromkeys方法 >>> {}.fromkeys(['name','age']) {'age': None, 'name': None} >>> dict.fromkeys(['name','age']) {'age': None, 'name': None} >>> dict.fromkeys(['name','age'], '(unknown)') {'age': '(unknown)', 'name': '(unknown)'} >>> #4.get方法 >>> d={} >>> print d['name'] Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> print d['name'] KeyError: 'name' >>> print d.get['name'] Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> print d.get['name'] TypeError: 'builtin_function_or_method' object has no attribute '__getitem__' >>> print d.get('name') None >>> d.get('name','N/A') 'N/A' >>> d['name']='Eric' >>> d.get('name') 'Eric' #代码清单4-2 字典方法示例 #5.has_key方法 >>> d={} >>> d.has_key('name') False >>> d['name']='Eric' >>> d.has_key('name') True #6.items和iteritems >>> d={'title':'Python Web Site', 'url':'http://www.python.org', 'spam':0} >>> d.items() [('url', 'http://www.python.org'), ('spam', 0), ('title', 'Python Web Site')] >>> it = d.iteritems() >>> it <dictionary-itemiterator object at 0x0134AF30> >>> list(it) #Convert the iterator to a list [('url', 'http://www.python.org'), ('spam', 0), ('title', 'Python Web Site')] #7.keys方法和iterkeys方法 #keys方法将字典中的键以列表形式返回,而iterkeys则返回键的迭代器 #8.pop方法 >>> d = {'x':1, 'y':2} >>> d.pop('x') 1 >>> d {'y': 2} >>> #9.popitem方法 >>> d={'url':'http://www.python.org', 'spam':0, 'title':'Python Web Site'} >>> d {'url': 'http://www.python.org', 'title': 'Python Web Site', 'spam': 0} >>> d.popitem() ('url', 'http://www.python.org') >>> d {'title': 'Python Web Site', 'spam': 0} >>> d={} >>> d.setdefault('name', 'N/A') 'N/A' >>> d {'name': 'N/A'} >>> d['name']='Gumby' >>> d.setdefault('name','N/A') 'Gumby' >>> d {'name': 'Gumby'} >>> d={} >>> print d.setdefault('name') None >>> d {'name': None} #11.update方法 >>> d={ 'title':'Python Web Site', 'url':'http://www.python.org', 'changed':'Mar 14 22:09:15 MET 2008' } >>> x={'title':'Python Language Website'} >>> d.update(x) >>> d {'url': 'http://www.python.org', 'changed': 'Mar 14 22:09:15 MET 2008', 'title': 'Python Language Website'} #12. values方法和itervalues方法 >>> d={} >>> >>> d[1]=1 >>> d[2]=2 >>> d[3]=3 >>> d[4]=1 >>> d.values() [1, 2, 3, 1] >>> #4.3 小结 #映射:映射可以使用任何不可变对象标识元素. 最常用的类型是字符串和元组. Python唯一内建的映射类型是字典. #利用字典格式化字符串 #字典的方法 #4.3.1本章的新函数 #dict(seq) 用(键,值)对(或者映射和关键字参数)建立字典
字典示例
#coding=utf-8 #e4-1.py 字典示例 #简单数据库 #使用人名作为键的字典,每个人用另一个字典来表示,其键'phone'和'addr'分别表示他们的电话号码和地址. people = { 'Alice': { 'phone':'2341', 'addr':'Foo drive 23' }, 'Beth': { 'phone':'9102', 'addr':'Bar street 42' }, 'Cecil':{ 'phone':'3158', 'addr':'Baz avenue 90' } } #针对电话号码和地址使用的描述性标签, 会在打印输出的时候用到 labels = { 'phone':'phone number', 'addr':'address' } name=raw_input('Name: ') #查找电话号码还是地址? 使用正确的键: request = raw_input('Phone number (p) or address (a)? ') #使用正确的键: if request == 'p': key = 'phone' if request == 'a': key = 'addr' #如果名字是字典中的有效键才打印信息: if name in people: print "%s's %s is %s. " % \ (name, labels[key], people[name][key]) #python e4-1.py #Name: Beth #Phone number (p) or address (a)? p #Beth's phone number is 9102.
字典方法示例
#coding=utf-8 #e4-2 #使用get()的简单数据库 #这里添加代码清单4-1中插入数据库的代码 people = { 'Alice': { 'phone':'2341', 'addr':'Foo drive 23' }, 'Beth': { 'phone':'9102', 'addr':'Bar street 42' }, 'Cecil':{ 'phone':'3158', 'addr':'Baz avenue 90' } } labels = { 'phone':'phone number', 'addr':'address' } name = raw_input('Name: ') #查找电话号码还是地址? request = raw_input('Phone number (p) or address(a)? ') #使用正确的键 key = request #如果请求既不是'p'也不是'a' if request == 'p' : key = 'phone' if request == 'a' : key = 'addr' #使用get()提供默认值: person = people.get(name, {}) label = labels.get(key ,key) result = person.get(key, 'not available') print "%s's %s is %s. " % (name, label, result) #python e4-2.py #Name: Beth #Phone number (p) or address(a)? a #Beth's address is Bar street 42. #python e4-2.py #Name: Cecil #Phone number (p) or address(a)? p #Cecil's phone number is 3158. #python e4-2.py #Name: Cecil #Phone number (p) or address(a)? x #Cecil's x is not available.
发表评论
-
一键执行脚本即可把用户名和密码更新到指定路径下相应的配置文件(支持迭代)
2014-12-14 21:46 8631) 数据库和相关应用的用户名, 密码等敏感信息加密之后集 ... -
Python3.x 中,chr() 和 ord() 默认支持unicode
2014-09-14 15:44 12493In Python 2.x D:\Python27> ... -
如何让python的print函数不自动换行
2014-09-14 15:12 4022使用Python语言的print函数时,输出的每一行都会自 ... -
Python Bible - Ch23 多线程编程
2014-09-10 06:08 1029''' 在Python中,可以通过继承threading ... -
Python基础教程之第9章 魔法方法, 属性和迭代器
2014-06-09 06:11 2870#魔法方法, 属性 和 迭代器 D:\>pytho ... -
Python基础教程之第8章 异常
2014-06-03 06:06 6261#Chapter 8 异常 Python 2.7.5 ( ... -
Python基础教程之第7章 更加抽象
2014-06-02 18:43 1193D:\>python Python 2.7.5 ( ... -
Python基础教程之第6章 抽象
2014-05-29 19:27 2403Python 2.7.5 (default, May 15 ... -
Python基础教程之第5章 条件, 循环和其他语句
2014-05-29 09:57 1359Python 2.7.5 (default, May 15 ... -
Python基础教程之第3章 使用字符串
2014-05-25 12:08 1956Python 2.7.5 (default, May 15 ... -
Python基础教程之第2章 列表和元组
2014-05-25 10:06 8237D:\>python Python 2.7.5 ( ... -
Python基础教程之第1章 基础知识
2014-05-22 05:45 1433#1.1 安装Python #1.1.1 Windows ...
相关推荐
第4章 字典:当索引不好用时 第5章 条件、循环和其他语句 第6章 抽象 第7章 更加抽象 第8章 异常 第9章 魔法方法、属性和迭代器 第10章 充电时刻 第11章 文件和素材 第12章 图形用户界面 第13章 数据库支持...
《Python基础教程》第三版源代码是一份详细的学习资源,涵盖了Python编程的多个核心概念和实践技巧。这个源代码集合包括了从基础语法到高级特性的各种示例,旨在帮助初学者逐步掌握Python编程。 在Python的基础部分...
《Python基础教程(第2版)》是一本全面介绍Python编程的指南,适合初学者入门。Python作为一种解释型、面向对象、动态数据类型的高级程序设计语言,因其简洁的语法和强大的功能而广受欢迎。该书分为基础篇和高级篇...
**Python基础教程第三版概述** Python是一种高级编程语言,以其简洁、易读的语法和强大的功能而闻名。作为初学者入门编程或者专业人士增强技能的工具,Python基础教程第三版是学习这一语言的理想资源。该高清版教程...
《Python基础教程第二版》是针对初学者的一本经典教材,尤其适合那些对Python 2.0版本感兴趣的读者。本书全面、深入地介绍了Python编程语言的基础概念和语法,旨在帮助读者掌握这一强大而灵活的编程工具。以下是根据...
pythonpdf教程_python基础教程pdf Python 学习路线图 ⼀、 Python 学习的四个阶段 第⼀阶段 该阶段⾸先通过介绍不同领域的三种操作系统,操作系统的发展简史以及 Linux 系统的⽂件⽬录结构让⼤家对 Linux 系统有⼀个...
026字典:当索引不好用时2 027集合:在我的世界里,你就是唯一 028文件:因为懂你,所以永恒 029文件:一个任务 030文件系统:介绍一个高大上的东西 031永久存储:腌制一缸美味的泡菜 032异常处理:你不可
(Python基础教程之⼗⼋)Python字典交集–⽐较两个字典 Python⽰例,⽤于查找2个或更多词典之间的常见项⽬,即字典相交项⽬。 1.使⽤"&"运算符的字典交集 最简单的⽅法是查找键,值或项的交集,即 & 在两个字典...
python 基础教程 第二版 高清 书签 中文: 本书包括Python程序设计的方方面面,首先从Python的安装开始,随后介绍了Python的基础知识和基本概念,包括列表、元组、字符串、字典以及各种语句。然后循序渐进地介绍了...
3. **函数与模块**(第4章):介绍如何定义和调用函数,理解作用域,以及如何使用Python的内置模块和第三方模块,提升代码复用性。 4. **面向对象编程**(第5章):讲解类与对象的概念,继承、封装和多态等面向对象...
《Python基础教程(第2版·修订版)》是经典的Python入门教程,层次鲜明,结构严谨,内容翔实,特别是最后几章,作者将前面讲述的内容应用到10个引人入胜的项目中,并以模板的形式介绍了项目的开发过程,手把手教授...
第1 章 快速上手:基础知识 1.1 交互式解释器 1.2 算法是什么 1.3 数和表达式 1.4 变量 1.5 语句 1.6 获取用户输入 1.7 函数 1.8 模块 1.8.1 cmath和复数 1.8.2 回到未来 1.9 保存并执行程序 1.9.1 从...
"Python基础教程第二版"是学习Python语言的经典教材,由专家编写,旨在为初学者提供全面而深入的Python知识。这本书包含了Python的基础概念、语法结构、数据类型、控制结构、函数、模块和包、面向对象编程以及错误...
《Python3基础教程(第2版)(慕课版)》是针对初学者精心编写的教材,涵盖了Python编程语言的基础知识,旨在帮助学习者快速掌握Python编程技能。本教程不仅包含理论讲解,还提供了丰富的实践案例和课后习题,以加深...
Python入门基础教程全套.PPT,Python入门基础教程全套.PPT,Python入门基础教程全套.PPT,Python入门基础教程全套.PPT,Python入门基础教程全套.PPT,Python入门基础教程全套.PPT,Python入门基础教程全套.PPT,...
《Python基础教程》是Martin Hetland所著的一本经典教材,第二版更是对初学者和有一定经验的开发者提供了深入浅出的Python知识讲解。 在这一版的源代码中,读者可以找到书中各章节实例的实现,这对于理解Python编程...
第4章:字符串 字符串是Python中处理文本的重要数据类型。我们将学习字符串的创建、访问和操作,包括字符串的索引、切片、连接和格式化输出。同时,会介绍字符串的内置方法,如查找、替换、分割等。 第5章:列表 ...
- **Python第4课**:学习如何使用`input()`函数实现用户输入。 - **Python第5课**:理解变量的基本概念,包括声明、赋值等。 - **Python第6课**:了解布尔类型(bool)以及其在逻辑判断中的应用。 - **Python第7课**:...
《Python基础教程》第三版是Python编程初学者的宝贵资源,由知名...无论你是自学还是在课堂上学习,这个珍藏版的《Python基础教程》第三版都是一个值得拥有的资源,它将引导你步入Python编程的世界,开启你的编程之旅。
Python基础入门教程 Python语言编程导论04 第四章 流程控制 (共48页).ppt Python基础入门教程 Python语言编程导论05 第五章 模块与函数 (共110页).ppt Python基础入门教程 Python语言编程导论06 第六章 数据结构...