字典

作者:追风剑情 发布于:2017-12-11 15:49 分类:Python

示例

  1. # -*- coding: cp936 -*-
  2. names = ['Alice', 'Beth', 'Cecil', 'Dee-Dee', 'Earl']
  3. numbers = ['2341', '9102', '3158', '0142', '5551']
  4. print numbers[names.index('Cecil')]
  5.  
  6. #字典
  7. #键: 可以是任意的不可变类型,比如浮点型(实型)、字符串或者元组
  8. phonebook = {'Alice':'2341', 'Beth':'9102','Cecil':'3258'}
  9.  
  10. #dict和list、tuple、str一样都是类型,不是函数。
  11. print 'dict函数'
  12. items = [('name', 'Gumby'), ('age', 42)]
  13. d = dict(items) #list转字典
  14. print d
  15. print d['name']
  16.  
  17. #通过关键字参数来创建字典
  18. d = dict(name='Gumby', age=42)
  19. print d
  20.  
  21. #创建空字典
  22. d = {}
  23. d = dict()
  24. print d
  25.  
  26. d = dict(a=1, b=2, c=3)
  27. print len(d) #返回d中项(键-值对)的数量
  28. print d['a'] #返回关联到键上的值
  29. d['a'] = 5 #赋值
  30. d['d'] = 6 #赋值
  31. print d
  32.  
  33. del d['a'] #删除a键及值
  34. print d
  35.  
  36. print 'b' in d #检查d中是否包含b键
  37.  
  38. #用字典格式化字符串
  39. phonebook = {'Beth':'9102', 'Alice':'2341', 'Cecil':'3256'}
  40. print "Cecil's phone number is %(Cecil)s." % phonebook
  41.  
  42. #字典方法
  43. #clear()-清除所有项
  44. #copy()-浅复制(shallow copy)
  45. x = {'username': 'admin', 'machines':['foo', 'bar', 'bax']}
  46. y = x.copy() #浅复制
  47. from copy import deepcopy
  48. z = deepcopy(x) #深复制
  49.  
  50. print '用fromkeys方法建立新的字典,默认值为None'
  51. d = {}.fromkeys(['name', 'age'])
  52. print d
  53. #也可以这样写
  54. d = dict.fromkeys(['name', 'age'])
  55. print d
  56. #也可以指定默认值
  57. d = dict.fromkeys(['name', 'age'], '(unknown)')
  58. print d
  59.  
  60. print 'get()方法'
  61. print d['name'] #若字典中不存在, 会报错
  62. print d.get('name') #若字典中不存在, 会返回None
  63. print d.get('name', 'N/A') #若字典中不存在, 返回N/A
  64.  
  65. print 'has_key()方法' #Python3.0中不包含此函数
  66. print d.has_key('name')
  67.  
  68. print 'items()方法' #以列表方式返回[(k,v),...]
  69. print d.items()
  70.  
  71. print 'iteritems()方法' #返回迭代器
  72. it = d.iteritems()
  73. print it
  74. print list(it)
  75.  
  76. #以列表方式返回所有键
  77. print d.keys()
  78. #返回键的迭代器
  79. it = d.iterkeys()
  80. print list(it)
  81.  
  82. print 'pop()方法'
  83. print d.pop('name') #返回name对应的值,并删除name键
  84.  
  85. d = {'x':1, 'y':2, 'z':3}
  86. print d.popitem() #随机弹出一项并删除
  87.  
  88. print 'setdefault()方法' #与get()类似
  89. d = {}
  90. print d.setdefault('name', 'N/A') #如果字典中没name,则设置name=N/A,有name则不设值
  91. d['name'] = 'Gumby'
  92. print d.setdefault('name', 'N/A') #第2个参数可以不指定(默认为None)
  93.  
  94. print 'update()方法' #利用一个字典更新另一个字典项
  95. d = {'title':'Python Web Site', 'url':'http://www.python.org'}
  96. x = {'title':'Python Language Website'}
  97. d.update(x) #用x更新d
  98. print d
  99.  
  100. #以列表形式返回值
  101. print d.values()
  102. #以列表形式返回值的迭代器
  103. it = d.itervalues()
  104. print it
  105. print list(it)

运行测试

1111.png

标签: Python

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号