Python字典的创建的三个方法详解

如果你对Python字典是如何创建的,以及如何访问字典中的值这些问题有不解之处时,你可以浏览我们的文章,读完此文章希望能够你会从中有所收获,以下是文章的具体相关内容的介绍。

创新互联是专业的惠来网站建设公司,惠来接单;提供做网站、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行惠来网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

创建Python字典

方法①:

 
 
 
  1. >>> dict1 = {}
  2. >>> dict2 = {'name': 'earth', 'port': 80}
  3. >>> dict1, dict2
  4. ({}, {'port': 80, 'name': 'earth'})

方法②:从Python 2.2 版本起

 
 
 
  1. >>> fdict = dict((['x', 1], ['y', 2]))
  2. >>> fdict
  3. {'y': 2, 'x': 1}

方法③:从Python 2.3 版本起, 可以用一个很方便的内建方法fromkeys() 来创建一个"默认"字典, 字典中元素具有相同的值 (如果没有给出, 默认为None):

 
 
 
  1. >>> ddict = {}.fromkeys(('x', 'y'), -1)
  2. >>> ddict
  3. {'y': -1, 'x': -1}
  4. >>>
  5. >>> edict = {}.fromkeys(('foo', 'bar'))
  6. >>> edict
  7. {'foo': None, 'bar': None}

如何访问字典中的值

①要想遍历一个字典(一般用键), 你只需要循环查看它的键, 像这样:

 
 
 
  1. >>> dict2 = {'name': 'earth', 'port': 80}
  2. >>>
  3. >>>> for key in dict2.keys():
  4. ... print 'key=%s, value=%s' % (key, dict2[key])
  5. ...
  6. key=name, value=earth
  7. key=port, value=80

②从Python 2.2 开始在 for 循环里遍历字典。

 
 
 
  1. >>> dict2 = {'name': 'earth', 'port': 80}
  2. >>>
  3. >>>> for key in dict2:
  4. ... print 'key=%s, value=%s' % (key, dict2[key])
  5. ...
  6. key=name, value=earth
  7. key=port, value=80

要得到Python字典中某个元素的值, 可以用你所熟悉的字典键加上中括号来得到:

 
 
 
  1. >>> dict2['name']
  2. 'earth'
  3. >>>
  4. >>> print 'host %s is running on port %d' % \
  5. ... (dict2['name'], dict2['port'])
  6. host earth is running on port 80

③字典所有的方法。方法has_key()和 in 以及 not in 操作符都是布尔类型的

 
 
 
  1. >>> 'server' in dict2 # 或 dict2.has_key('server')
  2. False
  3. >>> 'name' in dict # 或 dict2.has_key('name')
  4. True
  5. >>> dict2['name']
  6. 'earth'

一个字典中混用数字和字符串的例子:

 
 
 
  1. >>> dict3 = {}
  2. >>> dict3[1] = 'abc'
  3. >>> dict3['1'] = 3.14159
  4. >>> dict3[3.2] = 'xyz'
  5. >>> dict3
  6. {3.2: 'xyz', 1: 'abc', '1': 3.14159}

以上的文章就是对Python字典的如何应用和如何访问字典中的值的相关介绍。

标题名称:Python字典的创建的三个方法详解
链接地址:http://www.shufengxianlan.com/qtweb/news35/73535.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联