字典dict
- 字典是另一种可变容器模型,且可存储任意类型对象。
- dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
- 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中
d = {key1 : value1, key2 : value2 }
- 键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。
>>>dict = {'a': 1, 'b': 2, 'b': '3'}
>>> dict['b']
'3'
>>> dict
{'a': 1, 'b': '3'}
- 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
dict1 = { 'abc': 456 }
dict2 = { 'abc': 123, 98.6: 37 }
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Name']: ", dict['Name']
print "dict['Age']: ", dict['Age']
dict['Name']: Zara
dict['Age']: 7
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8
dict['School'] = "RUNOOB"
print "dict['Age']: ", dict['Age']
print "dict['School']: ", dict['School']
dict['Age']: 8
dict['School']: RUNOOB
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
del dict['Name']
dict.clear()
del dict
dict.copy()
dict.fromkeys(seq[, val])
dict.get(key, default=None)
dict.has_key(key)
dict.items()
dict.keys()
dict.values()
dict.setdefault(key, default=None)
dict.update(dict2)
dict.pop(key[,default])
dict.popitem()
seq = ['one', 'two', 'three', 'four']
d = dict.fromkeys(seq,1)
print(d)
d1 = d.get('one', 2)
print(d1)
d2 = d.get('five', 2)
print(d2)
d3 = d.items()
print(d3)
d4 = d.keys()
print(d4)
d5 = d.values()
print(d5)
d6 = d.setdefault('five',5)
print(d)
dict2 = {'six':6, 'seven':7}
d.update(dict2)
print(d)
d7 = d.pop('two')
print(d)
d8 = d.popitem()
print(d)
{'one': 1, 'two': 1, 'three': 1, 'four': 1}
1
2
dict_items([('one', 1), ('two', 1), ('three', 1), ('four', 1)])
dict_keys(['one', 'two', 'three', 'four'])
dict_values([1, 1, 1, 1])
{'one': 1, 'two': 1, 'three': 1, 'four': 1, 'five': 5}
{'one': 1, 'two': 1, 'three': 1, 'four': 1, 'five': 5, 'six': 6, 'seven': 7}
{'one': 1, 'three': 1, 'four': 1, 'five': 5, 'six': 6, 'seven': 7}
{'one': 1, 'three': 1, 'four': 1, 'five': 5, 'six': 6}