一. 字典
#字典
dict1 = {'name':'lzc','age':'20','sex':'man'}
print dict1
print type(dict1)
>>> {'age': '20', 'name': 'lzc', 'sex': 'man'}
>>> <type 'dict'>
#list() tuple() dict() 相互转换
k1 = dict(a=1,b=2,c=3)
print k1
>>> {'a': 1, 'c': 3, 'b': 2}
k2 = dict([('name','lzc'),('age','20')])
print k2
>>> {'age': '20', 'name': 'lzc'}
二.字典常用的方法
#字典常用的方法
print dir(dict)
>>> 'clear', 'copy', 'fromkeys', 'get', 'has_key', 'items', 'iteritems', 'iterkeys', 'itervalues', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values', 'viewitems', 'viewkeys', 'viewvalues
#clear() 用于删除字典内所有元素
k3 = {'name':'lzc','age':20,'sex':'man'}
print k3
print k3.clear() //clear清除了字典k3中的所有元素
>>> {'age': 20, 'name': 'lzc', 'sex': 'man'}
>>> None
#copy() 方法返回一个字典的浅复制
#copy 复制一个字典
k3 = {'name':'lzc','age':20,'sex':'man'}
k4 = k3.copy()
print k4
>>> {'age': 20, 'name': 'lzc', 'sex': 'man'}
#get 返回函数指定key的值,即key对应的value的值
k3 = {'name':'lzc','age':20,'sex':'man'}
print k3.get('name')
print k3.get('age')
print k3.get('sex')
>>> lzc
>>> 20
>>> man
通过格式化方式,通过key获取value值
k3 = {'name':'lzc','age':20,'sex':'man'}
print 'name %s' % k3.get('name')
print 'age %s' % k3.get('age')
print 'sex %s' % k3.get('sex')
>>> name lzc
>>> age 20
>>> sex man
#setdefault() 与get()方法类似,如果键值不存在于字典中,将会添加键值并将值设置为默认值
k3 = {'name':'lzc','age':20,'sex':'man'}
print k3.setdefault('name')
print k3.setdefault('age')
print k3.setdefault('sex')
print '^^^^^'*20
>>> lzc
>>> 20
>>> man
>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
print k3.setdefault('name','liuzhenchuan')
print k3.setdefault('age','liuzhenchuan')
print k3.setdefault('address','beijing')
print k3
>>> lzc //说明,如果key所对应的value值存在则不会更改
>>> 20
>>> beijing //key所对应的value值不存在,添加默认的键值到
字典中
>>> {'age': 20, 'address': 'beijing', 'name': 'lzc', 'sex': 'man'}
#keys() 以列表形式返回一个字典的所有键值
k3 = {'name':'lzc','age':20,'sex':'man'}
print k3.keys()
>>> ['age', 'name', 'sex']
#formkesy()方法 字典高级需求。把列表l中的元素当做字典中的keys值
l = ['a','b','c']
m = {}
n = m.fromkeys(l,'values')
print n
>>> {'a': 'values', 'c': 'values', 'b': 'values'}
注:也可以把 m.fromkeys 换成dict.formkeys
l = ['a','b','c']
m = {}
n = dict.fromkeys(l,'values')
print n
>>> {'a': 'values', 'c': 'values', 'b': 'values'}
#update() 方法,将dict2的键值对添加到dict。此方法不返回任何内容。
dict = {'name':'maxsu','age':7}
dict2 = {'sex':'female'}
dict.update(dict2)
print dict
>>> {'age': 7, 'name': 'maxsu', 'sex': 'female'}
# sorted 对字典进行排序 .用key函数排序,返回有tuple组成的list
# iteritems 函数变量
# lambda d :匿名函数d,d[1] 从第一位开始,切片
#reverse = False 反向排序
# reverse = True 降序
# reverse = False 升序
students = [('join','A',15),('jane','B',12),('dave','B',20)]
print sorted(students,key=lambda student:student[2],reverse=False) //student[2] 按着students列表切片2的位置,升序排序
>>> [('jane', 'B', 12), ('join', 'A', 15), ('dave', 'B', 20)]
#items() 函数以列表返回可遍历的(键,值)元组数组
dict2 = {'a':1,'b':2,'c':3,'d':4,'e':5}
print dict2.items()
for i in dict2.items():
print i
>>> [('a', 1), ('c', 3), ('b', 2), ('e', 5), ('d', 4)]
('a', 1)
('c', 3)
('b', 2)
('e', 5)
('d', 4)