3.字典
字典由“键-值”对组成,键值对之间用逗号隔开,包含在一对花括号内。字典没有顺序且每个键是唯一的。类似于java中的HashMap类。
3.1字典的创建
1)基本创建方式
dict1 = {'key1':'value1', 'key2':'value2'}
2)使用dict()函数创建字典
user_dict = [(1,'alvin'),(2,'nathan'),(3, 'brian')]
dict_user = dict(user_dict)
print dict_user
'''
output
----------------
{1: 'alvin', 2: 'nathan', 3: 'brian'}
'''
dict_person = dict(name='alvin', age=20)
print dict_person
'''
output
-----------------
{'age': 20, 'name': 'alvin'}
'''
3.2字典的基本操作方法
1)添加元素
a) setdefault(key[,value])
user_dict = {'001':'alvin','002':'nathan','003':'brian'}
user_dict.setdefault('004', 'nick')
print user_dict
'''
{'003': 'brian', '002': 'nathan', '001': 'alvin', '004': 'nick'}
'''
setdefault()函数如果不设置value,默认为none,如果key已经存在返回已经存在相应的valueb) dict _name[key] = value
2)删除元素
a) 使用del()函数删除元素
del(dict_name[key])
b) 使用pop()方法删除元素
pop(key[,defaultvalue])#如果存在key,删除并返回相应的值,否则返回defaultvalue
c) 使用del关键字
del dict_name[key]
3)字典的遍历
a) for...in
for key in user_dict:
print "user_dict[%s]="%key, user_dict[key]
b) 使用items()方法遍历字典
for (key, value) in user_dict.items():
print key,"=>",value
c)使用iteritems()\、iterkeys()和itervalues()方法遍历字典
for (key, value) in zip(user_dict.iterkeys(), user_dict.itervalues()):
print key,"=>",value
3.3字典更多函数方法
方法名 | 方法解释 | 备注 |
clear() | 清空字典,无返回值 | |
copy() | 返回一个具有相同键值对的新字典 | |
fromkeys([key1, key2, ...], defaultvalue) | 使用给定的键建立新字典,返回新字典 | |
get(key) | 获取指定键对应的值 | |
haskey(key) | 检查字典是否包含指定的键 | |
popitem() | 弹出随机的元素 | |
target_dict.update(source_dict) | 使用新的字典更新目标字典中的值 |