字典(dict)
字典属于一种新的数据结构,称为映射(mapping) 字典也称键值对(key-value)结构;每个字典中可以有多个键值对,而每个键值对称其为一项(item)
1. 创建字典:
1)d1 = {
'name': 'wx',
'age': 23,
'gender': 'female'
}
2)d2 = dict(name='wx', age=18, gender='female')
3)d3 = dict([('name', 'wx'), ('age', 23)])
2.获取值
print(d1.get('name'))
print(d1.get('hello', '默认值'))
3.修改
d1['name'] = 'sunwukong'
d1['address'] = 'huahuoshan'
print(d1)
setdefault(key[, default]) 可以用来向字典中添加key-value
如果key已经存在于字典中,则返回key的值,不会对字典做出任何操作 如果key不存在,则向字典中添加这个key,并设置value
result = d1.setdefault('name', 'zhubajie')
result = d1.setdefault('hello', 'zhubajie')
print(result)
print(d1)
4.update([other])
将其他的字典中的key-value添加导当前字典中 # 如果有重复的key,则后面会替换到前面的
d = {'a':1, 'b':2, 'c':3}
d2 = {'d':4, 'e':5, 'f':6, 'a':8}
d.update(d2)
print(d)
5.删除
1)删除可以用del来删除字典中的key-value
del d['a']
del d['b']
2)popitem() 随机删除字典中的一个键值对,一般都会删除最后一个键值对 删除之后,它会将删除的key-value作为返回值返回,返回的是一个元组 删除空字典时会报错
d2.popitem()
result = d2.popitem()
3)pop(key[, default]) 根据key删除字典中的key-value 会将被删除的value返回 如果删除不存在的key,会抛出异常;如果指定了默认值再删除不存在的key时不会报错,而是直接返回默认值
result = d2.pop('d')
result = d2.pop('z','默认值')
print(d2, result)
4)clear()用来清空字典
d2.clear()
6.copy 浅复制
浅复制会简单复制对象内部的值,如果值也是一个可变对象,这个对象不会被复制。
d = {'a':1, 'b':2, 'c':3}
d2 = d.copy()
print(d, id(d))
print(d2, id(d2))
7.遍历字典
1)keys() 该方法会返回字典的所有key,返回一个序列,序列中保存有自建的所有键
d = {'name':'sunwukong', 'age':18, 'gender':'male'}
print(d.keys())
for k in d.keys():
print(k, d[k])
2)values() 该方法会返回一个序列,序列中保存有字典的左右的值
for v in d.values():
print(v)
3)items() 该方法会返回字典中所有的项;它会返回一个序列,序列中包含有双值子序列;双值分别是制单中的key和value
print(d.items())
for k,v in d.items():
print(k, '=', v)
|