朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow
声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写,所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!PS:看不懂本篇文章的同学请先看前面的文章,循序渐进每天学一点就不会觉得难了!
字典在Python中能够扮演多种角色。一般来说,字典可以取代搜索数据结构(因为用键进行索引就是一种搜索操作),并且可以表示多种结构化信息的类型。
>>> rec = {} >>> rec['name'] = 'mel' >>> rec['age'] = 45 >>> rec['job'] = 'trainer/writer' >>> >>> print(rec['name']) mel
特别是在嵌套的时候,Python的内建数据类型可以很轻松地表达结构化信息。下面的例子嵌套了一个列表和一个字典来表达结构化属性的值:
>>> mel = {'name': 'Mark', ... 'jobs': ['trainer','writer'], ... 'web': 'www.rmi.net/~lutz', ... 'home': {'state': 'CO','zip':80513}}
当读取嵌套对象的元素时,只要简单地把索引操作串起来就可以了:
>>> mel['name'] 'Mark' >>> mel['jobs'] ['trainer','writer'] >>> mel['jobs'][1] 'writer' >>> mel['home']['zip'] 80513
除了作为一种能够在程序中通过键存储信息的简便方法之外,有些Python的扩展程序也提供了外表类似并且实际工作都和字典一样的接口。例如,Python的DBM接口通过键来获取文件,它看上去特别像一个已经打开的字典。字符串的读取都使用键索引:
import anydbm file = anydbm.open("filename") # Link to file file['key'] = 'data' # Store data by key data = file['key'] # Fetch data by key
如果你把上面那段程序代码中的anydbm换成shelve,那么你也可以用这种方式储存整个Python对象。在WEB领域,Python的CGI脚本支持的一个接口看上去也跟字典类似。一个对cgi.FieldStorage的调用会产生一个类似字典的对象,在客户端网页上每个输入字段都有一项:
import cgi form = cgi.FieldStorage() # Parse form data if 'name' in form: showReply('Hello,' + form['name'].value)