字典

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

示例

# -*- coding: cp936 -*-
names = ['Alice', 'Beth', 'Cecil', 'Dee-Dee', 'Earl']
numbers = ['2341', '9102', '3158', '0142', '5551']
print numbers[names.index('Cecil')]

#字典
#键: 可以是任意的不可变类型,比如浮点型(实型)、字符串或者元组
phonebook = {'Alice':'2341', 'Beth':'9102','Cecil':'3258'}

#dict和list、tuple、str一样都是类型,不是函数。
print 'dict函数'
items = [('name', 'Gumby'), ('age', 42)]
d = dict(items) #list转字典
print d
print d['name']

#通过关键字参数来创建字典
d = dict(name='Gumby', age=42)
print d

#创建空字典
d = {}
d = dict()
print d

d = dict(a=1, b=2, c=3)
print len(d) #返回d中项(键-值对)的数量
print d['a'] #返回关联到键上的值
d['a'] = 5 #赋值
d['d'] = 6 #赋值
print d

del d['a'] #删除a键及值
print d

print 'b' in d #检查d中是否包含b键

#用字典格式化字符串
phonebook = {'Beth':'9102', 'Alice':'2341', 'Cecil':'3256'}
print "Cecil's phone number is %(Cecil)s." % phonebook

#字典方法
#clear()-清除所有项
#copy()-浅复制(shallow copy)
x = {'username': 'admin', 'machines':['foo', 'bar', 'bax']}
y = x.copy() #浅复制
from copy import deepcopy
z = deepcopy(x) #深复制

print '用fromkeys方法建立新的字典,默认值为None'
d = {}.fromkeys(['name', 'age'])
print d
#也可以这样写
d = dict.fromkeys(['name', 'age'])
print d
#也可以指定默认值
d = dict.fromkeys(['name', 'age'], '(unknown)')
print d

print 'get()方法'
print d['name'] #若字典中不存在, 会报错
print d.get('name') #若字典中不存在, 会返回None
print d.get('name', 'N/A') #若字典中不存在, 返回N/A

print 'has_key()方法' #Python3.0中不包含此函数
print d.has_key('name')

print 'items()方法' #以列表方式返回[(k,v),...]
print d.items()

print 'iteritems()方法' #返回迭代器
it = d.iteritems()
print it
print list(it)

#以列表方式返回所有键
print d.keys()
#返回键的迭代器
it = d.iterkeys()
print list(it)

print 'pop()方法'
print d.pop('name') #返回name对应的值,并删除name键

d = {'x':1, 'y':2, 'z':3}
print d.popitem() #随机弹出一项并删除

print 'setdefault()方法' #与get()类似
d = {}
print d.setdefault('name', 'N/A') #如果字典中没name,则设置name=N/A,有name则不设值
d['name'] = 'Gumby'
print d.setdefault('name', 'N/A') #第2个参数可以不指定(默认为None)

print 'update()方法' #利用一个字典更新另一个字典项
d = {'title':'Python Web Site', 'url':'http://www.python.org'}
x = {'title':'Python Language Website'}
d.update(x) #用x更新d
print d

#以列表形式返回值
print d.values()
#以列表形式返回值的迭代器
it = d.itervalues()
print it
print list(it)

运行测试

1111.png

标签: Python

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号